Registro personalizado

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:

  • Para escuchar registros.
  • Para agregar registros a un PTLogFactory.

Escuchar registros

Para registrarse para escuchar registros:

  1. 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
    
  2. 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

Añadir nuevos mensajes de registro

Para registrarse y escuchar registros:

  1. 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");

En esta página