Cocoalumberjack ist ein schnelles und einfaches, aber leistungsstarkes und flexibles Protokollierungsrahmen für MacOS, iOS, TVOS, Watchos und Visionos.
Installieren Sie zuerst Cocoalumberjack über Cocoapods, Karthago, Swift -Paketmanager oder manuell. Verwenden Sie dann DDOSLogger für iOS 10 und später oder DDTTYLogger und DDASLLogger für frühere Versionen, um Nachrichten mit der Protokollierung zu beginnen.
platform :ios , '11.0'
target 'SampleTarget' do
use_frameworks!
pod 'CocoaLumberjack/Swift'
end HINWEIS: Swift ist ein Unterart, der den gesamten OBJ-C-Code sowie den Swift-Code enthält. Dies reicht also aus. Weitere Informationen zur Verwendung von Swift mit Lumberjack finden Sie in diesem Gespräch.
Für objektive C verwenden Sie Folgendes:
platform :ios , '11.0'
target 'SampleTarget' do
pod 'CocoaLumberjack'
endKarthago ist ein leichter Abhängigkeitsmanager für Swift- und Objective-C. Es nutzt Cocoatouch -Module und ist weniger invasiv als Cocoapods.
Befolgen Sie die Anweisung auf Karthago, um mit Karthago zu installieren
Cartfile
github "CocoaLumberjack/CocoaLumberjack"
Ab Cocoalumberjack 3.6.0 können Sie den Swift -Paket -Manager als Integrationsmethode verwenden. Wenn Sie den Swift -Paket -Manager als Integrationsmethode verwenden möchten, fügen Sie entweder XCode die Paketabhängigkeit hinzu oder fügen Sie die folgende Abhängigkeit zu Ihrem Paket hinzu.
. package ( url : " https://github.com/CocoaLumberjack/CocoaLumberjack.git " , from : " 3.8.0 " ) , Beachten Sie, dass Sie möglicherweise sowohl Produkte, CocoaLumberjack und CocoaLumberjackSwift zu Ihrem Ziel hinzufügen müssen, da SPM manchmal nicht feststellt, dass CocoaLumberjackSwift von CocoaLumberjack abhängt.
Wenn Sie Cocoalumberjack manuell installieren möchten, lesen Sie den manuellen Installationshandbuch für weitere Informationen.
Normalerweise können Sie einfach import CocoaLumberjackSwift . Wenn Sie Cocoalumberjack mit Cocoapods installiert haben, müssen Sie stattdessen import CocoaLumberjack .
DDLog . add ( DDOSLogger . sharedInstance ) // Uses os_log
let fileLogger : DDFileLogger = DDFileLogger ( ) // File Logger
fileLogger . rollingFrequency = 60 * 60 * 24 // 24 hours
fileLogger . logFileManager . maximumNumberOfLogFiles = 7
DDLog . add ( fileLogger )
...
DDLogVerbose ( " Verbose " )
DDLogDebug ( " Debug " )
DDLogInfo ( " Info " )
DDLogWarn ( " Warn " )
DDLogError ( " Error " ) Wenn Sie Lumberjack als Framework verwenden, können Sie @import CocoaLumberjack; . Ansonsten #import <CocoaLumberjack/CocoaLumberjack.h>
[DDLog addLogger: [DDOSLogger sharedInstance ]]; // Uses os_log
DDFileLogger *fileLogger = [[DDFileLogger alloc ] init ]; // File Logger
fileLogger.rollingFrequency = 60 * 60 * 24 ; // 24 hour rolling
fileLogger.logFileManager.maximumNumberOfLogFiles = 7 ;
[DDLog addLogger: fileLogger];
...
DDLogVerbose ( @" Verbose " );
DDLogDebug ( @" Debug " );
DDLogInfo ( @" Info " );
DDLogWarn ( @" Warn " );
DDLogError ( @" Error " ); Bei der Integration von Lumberjack in ein vorhandenes Objektiv-C können Multiple methods named 'tag' found with mismatched result, parameter type or attributes erstellen Fehler.
Fügen Sie #define DD_LEGACY_MESSAGE_TAG 0 vor dem Importieren von Cocoalumberjack hinzu oder fügen Sie #define DD_LEGACY_MESSAGE_TAG 0 hinzu oder fügen Sie in Ihrem Xcode -Projekt zu anderen C -Flags / Other_Cflags -DDD_LEGACY_MESSAGE_TAG=0 .
Cocoalumberjack versendet auch eine Backend-Implementierung für Swift-Log. Fügen Sie Ihrem SPM -Ziel einfach Cocoalumberjack als Abhängigkeit hinzu (siehe oben) und fügen Sie auch das CocoaLumberjackSwiftLogBackend -Produkt als Abhängigkeit zu Ihrem Ziel hinzu.
Sie können dann DDLogHandler als Backend für Swift-Log verwenden, wodurch alle Nachrichten an Cocoalumberjacks DDLog weitergeleitet werden. Sie konfigurieren weiterhin die gewünschten Holzfäller und Protokollformatters, die Sie über DDLog gewünscht haben. Das Schreiben von Protokollnachrichten wird jedoch mit Logger von Swift-Log erstellt.
In Ihren eigenen Protitaten können Sie die swiftLogInfo Eigenschaft auf DDLogMessage verwenden, um die Details einer Nachricht abzurufen, die über Swift-Log protokolliert wird.
Um Swift-Log mit Cocoalumberjack zu verwenden, schauen Sie sich das folgende Code-Snippet an, um zu sehen, wie Sie loslegen.
import CocoaLumberjack
import CocoaLumberjackSwiftLogBackend
import Logging
// In your application's entry point (e.g. AppDelegate):
DDLog . add ( DDOSLogger . sharedInstance ) // Configure loggers
LoggingSystem . bootstrapWithCocoaLumberjack ( ) // Use CocoaLumberjack as swift-log backendDas Konzept ist ähnlich wie andere beliebte Protokollierungsrahmen wie Log4J, wurde jedoch speziell für Objektiv-C konzipiert und nutzt Merkmale wie Multi-Threading, Grand Central Dispatch (falls verfügbar), locklose atomare Operationen und die dynamische Natur der Ziel-C-Laufzeit.
In den meisten Fällen ist es eine Größenordnung schneller als NSlog.
Es dauert nur eine einzige Codezeile, um Lumberjack beim Start Ihrer Anwendung zu konfigurieren. Ersetzen Sie dann einfach Ihre NSLOG -Anweisungen durch DDlog -Anweisungen, und das war es auch schon. (Und die DDlog -Makros haben genau das gleiche Format und die Syntax wie NSlog, also ist es super einfach.)
Eine Protokollanweisung kann an mehrere Holzfäller gesendet werden, dh Sie können sich gleichzeitig bei einer Datei und der Konsole anmelden. Willst du mehr? Erstellen Sie Ihre eigenen Logger (es ist einfach) und senden Sie Ihre Protokollanweisungen über das Netzwerk. Oder zu einer Datenbank oder einem verteilten Dateisystem. Der Himmel ist die Grenze.
Konfigurieren Sie Ihre Protokollierung, wie Sie möchten. Ändern Sie die Protokollebenen pro Datei (perfekt zum Debuggen). Ändern Sie die Protokollebenen pro Protokoll (ausführliche Konsole, aber präzise Protokolldatei). Ändern Sie die Protokollebenen pro Xcode -Konfiguration (ausführliches Debug, aber präzise Freigabe). Lassen Sie Ihre Protokollanweisungen aus dem Release -Build zusammenstellen. Passen Sie die Anzahl der Protokollebenen für Ihre Anwendung an. Fügen Sie Ihre eigene feinkörnige Protokollierung hinzu. Dynamisch die Protokollpegel während der Laufzeit ändern. Wählen Sie, wie und wann Ihre Protokolldateien gerollt werden sollen. Laden Sie Ihre Protokolldateien auf einen zentralen Server hoch. Komprimieren Sie archivierte Protokolldateien, um Speicherplatz zu speichern ...
Die aktuelle Version von Lumberjack erfordert:
Laut App -Datenschutzdaten im App Store fordert Apple App -Entwickler auf, Informationen zu ihrer Datenerfassung bereitzustellen. Die US -amerikanischen SDK -Betreuer müssen ihnen dieselben Daten zur Verfügung stellen.
Standardmäßig sammelt Cocoalumberjack keine eigenen Daten.
Siehe Liste der Datenerfassungspraktiken.
Cocoalumberjack ist ein Protokollierungs -Framework, mit dem diese Protokolle einfach an verschiedene Plattformen gesendet werden können.
Aus diesem Grund können das Sammeln von Daten ganz einfach auftreten, wenn App -Entwickler sensible Daten in ihre Protokollnachrichten einbeziehen.
Wichtiger Hinweis: App -Entwickler sind voll verantwortlich für sensible Daten, die über unser Protokollierungssystem gesammelt wurden!
Infolgedessen müssen Sie den Datenschutzdetails des Apple (oben erwähnt) einhalten und die Art und Weise dokumentieren, wie Benutzerdaten gesammelt werden. Da die Anzahl der Szenarien, in denen Daten indirekt über Cocoalumberjack gesammelt werden könnten, ziemlich groß ist, liegt es an Ihnen, als App -Entwickler den Code Ihrer App ordnungsgemäß zu überprüfen und diese Fälle zu identifizieren. Was wir tun können, um zu helfen, ist das Bewusstsein für die potenzielle Datenerfassung durch unseren Rahmen.
Private Daten umfassen, aber nicht beschränkt auf:
Beispiel : DDLogInfo("User: (myUser)") fügt die myUser -Informationen zu den Protokollen hinzu. Wenn diese also an eine Drittanbietung weitergeleitet oder per E -Mail gesendet werden, kann dies als Datenerfassung qualifiziert werden.