Registrazione personalizzata

Puoi implementare un tuo sistema di registrazione.

Oltre a registrare utilizzando notifiche predefinite, puoi implementare un sistema di registrazione che utilizza i messaggi di log e i messaggi generati da TVSDK. Per ulteriori informazioni sulle notifiche predefinite, vedere Sistema di notifica. È possibile utilizzare questi registri per risolvere i problemi delle applicazioni del lettore e per fornire una migliore comprensione del flusso di lavoro di riproduzione e pubblicità.

La registrazione personalizzata utilizza un'istanza singleton condivisa di PSDKPTLogFactory, che fornisce un meccanismo per registrare i messaggi a più logger. Puoi definire e aggiungere (registrare) uno o più logger al PTLogFactory. Questo consente di definire più logger con implementazioni personalizzate, ad esempio un logger di console, un Registratore web o un Registratore di cronologia della console.

TVSDK genera messaggi di registro per molte delle sue attività, che il PTLogFactory inoltra a tutti i logger registrati. L’applicazione può inoltre generare messaggi di log personalizzati, che vengono inoltrati a tutti i logger registrati. Ogni logger può filtrare i messaggi e intraprendere le azioni appropriate.

Sono disponibili due implementazioni per PTLogFactory:

  • Per ascoltare i log.
  • Per aggiungere i registri a un PTLogFactory.

Ascolta i registri

Per registrarsi per l'ascolto dei log:

  1. Implementa una classe personalizzata che segue il protocollo 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. Per registrare l'istanza per ricevere le voci di log, aggiungi un'istanza del 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);
    

Ecco un esempio di filtraggio dei registri utilizzando il 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

Aggiungi nuovi messaggi di log

Per registrarsi per ascoltare i log:

Crea un nuovo PTLogEntry e aggiungilo a thePTLogFactory:

È possibile creare manualmente un'istanza PTLogEntry e aggiungerla all'istanza condivisa PTLogFactory oppure utilizzare una delle macro per eseguire la stessa operazione.

Ecco un esempio di registrazione utilizzando 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");

In questa pagina