2015-09-26 7 views

Antwort

8

Das ist ein möglicher Weg, aber nicht ideal.

Zuerst würde ich mich fragen, ob Sie wirklich Protokolle in der Produktion deaktivieren möchten. Mit den Protokollen error und severe können nützliche Diagnosetools für freigegebene Apps erstellt werden.

Wenn Sie jedoch Protokolle in der Produktion vollständig löschen möchten, würde ich empfehlen, die Art, wie Sie den Logger einrichten und verwenden, zu ändern, als in den offiziellen Dokumenten.

Ändern der globalen Log-Objekt eine optionale statt sein:

let log: XCGLogger? = { 
    #if DEBUG 
     let log = XCGLogger.defaultInstance() 
     log.setup(.Debug, showThreadName: true, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug) 
     return log 
    #else 
     return nil 
    #endif 
} 

dann Ihre Log-Anrufe ändern: in

log?.debug("whatever") 

Dies beseitigt einen zusätzlichen Overhead des Loggers seit log wird nil Produktion und keine Protokollierungsaufrufe werden jemals gemacht werden.

+0

Btw. Wie können die schwerwiegenden Fehler und Fehler in der Produktion auf mich zurückkommen, wenn ich sie nicht vollständig entferne? – Kaunteya

+0

Mit der aktuellen Version müssen Sie mit dem Benutzer sprechen, der das Problem hat, und sie können sie möglicherweise in ihrem Konsolenprotokoll sehen . Oder Sie fügen eine Methode hinzu, mit der Sie die Protokolldatei per E-Mail erhalten oder sogar an einen Remote-Server melden können. Ich plane, bis Ende des Jahres einige Remote-Reporting-Sachen hinzuzufügen (wenn es die Zeit erlaubt). –

Verwandte Themen