Puede implementar su propio sistema de registro.
Además de iniciar sesión mediante notificaciones predefinidas, puede implementar un sistema de registro que utilice los mensajes de registro y los mensajes generados por TVSDK. Para obtener más información sobre las notificaciones predefinidas, consulte El sistema de notificaciones. Puede utilizar estos registros para solucionar problemas en las aplicaciones del reproductor y para comprender mejor el flujo de trabajo de reproducción y publicidad.
El registro personalizado utiliza una instancia singleton compartida de PSDKPTLogFactory
, que proporciona un mecanismo para registrar mensajes en varios registros. Puede definir y agregar (registrar) uno o más registros a PTLogFactory
. Esto le permite definir varios registros con implementaciones personalizadas, como un registrador de consola, un registrador web o un registrador de historial de consola.
TVSDK genera mensajes de registro para muchas de sus actividades, que el PTLogFactory
reenvía a todos los registros registrados. La aplicación también puede generar mensajes de registro personalizados, que se reenvían a todos los registros registrados. Cada registrador puede filtrar los mensajes y tomar las medidas adecuadas.
Existen dos implementaciones para PTLogFactory
:
PTLogFactory
.Para registrarse para escuchar registros:
Implemente una clase personalizada que siga el protocolo PTLogger
:
@implementation PTConsoleLogger
+ (PTConsoleLogger *) consoleLogger {
return [[[PTConsoleLogger alloc] init] autorelease];
}
- (void)logEntry:(PTLogEntry *)entry {
//Log the message to the console using NSLog
NSLog(@"[%@] %@", entry.tag, entry.message);
}
@end
Para registrar la instancia para recibir entradas de registro, añada una instancia de PTLogger
al PTLoggerFactory
:
PTConsoleLogger *logger = [PTConsoleLogger consoleLogger];
// Either use the addLogger method:
[[PTLogFactory sharedInstance] addLogger:(logger)]
//Or replace the preceding line with this macro for ease of use
//PTLogAddLogger(logger);
Este es un ejemplo de filtrado de registros mediante el tipo PTLogEntry
:
@implementation PTConsoleLogger
+ (PTConsoleLogger *) consoleLogger {
return [[[PTConsoleLogger alloc] init] autorelease];
}
- (id) init {
self = [super init];
if (self) {
self.logLevel = PTLogEntryTypeInfo;
}
return self;
}
- (void)logEntry:(PTLogEntry *) entry {
//Filtering the entry by log level
if (entry.type < _logLevel) {
return;
}
//Log the message to the console using NSLog NSLog(@"[%@] %@", entry.tag, entry.message);
}
@end
Para registrarse y escuchar registros:
Cree un nuevo PTLogEntry
y agréguelo a thePTLogFactory
:
Puede crear una instancia PTLogEntry
manualmente y agregarla a la instancia compartida PTLogFactory
o utilizar una de las macros para realizar la misma tarea.
Este es un ejemplo de registro con la macro PTLogDebug
:
// The following line creates an instance of PTLogEntry with type PTLogEntryDebug,
// tag "DEBUG_PLAYBACK", and message "Playback has started".
// Then the PTLogEntry is automatically added to the PTLogFactory
PTLogDebug(@"[DEBUG_PLAYBACK] Playback has started");