2012-08-22 4 views
6

Sto usando CocoaLumberjack per tutto il log nella mia app. Usando questo posso accedere direttamente a un file utilizzando DDLogVerbose (...) o una qualsiasi delle varianti disponibili.CocoaLumberjack e NSLog in altre librerie

Sto anche utilizzando fmdb (wrapper SQLite). Il problema è che questa libreria utilizza NSLog() e nessuno se il suo output finisce nel mio file di registro.

C'è un modo per acquisire l'output di NSLog e reindirizzare a CocoaLumberjack? O se ciò non è possibile, basta "riscrivere" NSLog() in modo che esegua effettivamente DDLogVerbose()?

risposta

1

Prova ad aggiungere

#define NSLog DDLogInfo 

alla parte superiore delle altre librerie. Naturalmente è necessario

#include "Logging.h" 

affinché funzioni.

+0

Grazie! Funziona perfettamente per le mie istruzioni NSLog, ma non per le dichiarazioni di registro di Apple. – vomako

1

Questo potrebbe funzionare, ma potrebbe anche creare un ciclo infinito poiché CocoaLumberjack sta utilizzando NSLog, quindi una ridefinizione con DDLogInfo potrebbe rovinare tutto. Hai solo bisogno di provare e vedere.

+0

Sei corretto, c'è un ciclo infinito. C'è qualche soluzione alternativa per questo? – ebi