CocoalumberJack adalah kerangka logging yang cepat & sederhana, namun kuat & fleksibel untuk macOS, iOS, TVOS, watchos dan visiono.
Pertama, pasang CocoalumberJack melalui Cocoapods, Carthage, Swift Package Manager atau secara manual. Kemudian gunakan DDOSLogger untuk iOS 10 dan yang lebih baru, atau DDTTYLogger dan DDASLLogger untuk versi sebelumnya untuk mulai mencatat pesan.
platform :ios , '11.0'
target 'SampleTarget' do
use_frameworks!
pod 'CocoaLumberjack/Swift'
end Catatan: Swift adalah subspec yang akan mencakup semua kode OBJ-C plus yang Swift, jadi ini cukup. Untuk detail lebih lanjut tentang cara menggunakan Swift dengan penebang pohon, lihat percakapan ini.
Untuk Objective-C Gunakan yang berikut:
platform :ios , '11.0'
target 'SampleTarget' do
pod 'CocoaLumberjack'
endCarthage adalah manajer ketergantungan yang ringan untuk Swift dan Objective-C. Ini memanfaatkan modul Cocoatouch dan kurang invasif daripada cocoapods.
Untuk menginstal dengan Carthage, ikuti instruksi di Carthage
Cartfile
github "CocoaLumberjack/CocoaLumberjack"
Pada CocoalumberJack 3.6.0, Anda dapat menggunakan SWIFT Package Manager sebagai metode integrasi. Jika Anda ingin menggunakan SWIFT Package Manager sebagai metode integrasi, gunakan XCODE untuk menambahkan ketergantungan paket atau menambahkan ketergantungan berikut ke paket Anda.
. package ( url : " https://github.com/CocoaLumberjack/CocoaLumberjack.git " , from : " 3.8.0 " ) , Perhatikan bahwa Anda mungkin perlu menambahkan kedua produk, CocoaLumberjack , dan CocoaLumberjackSwift ke target Anda karena SPM kadang -kadang gagal mendeteksi bahwa CocoaLumberjackSwift tergantung pada CocoaLumberjack .
Jika Anda ingin menginstal CocoalumberJack secara manual, baca panduan instalasi manual untuk informasi lebih lanjut.
Biasanya, Anda dapat import CocoaLumberjackSwift . Jika Anda memasang CocoalumberJack menggunakan cocoapods, Anda harus menggunakan import CocoaLumberjack sebagai gantinya.
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 " ) Jika Anda menggunakan penebang pohon sebagai kerangka kerja, Anda dapat @import CocoaLumberjack; . Jika tidak, #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 " ); Saat mengintegrasikan penebang pohon ke dalam objektif-C yang ada dimungkinkan untuk menjalankan Multiple methods named 'tag' found with mismatched result, parameter type or attributes .
Tambahkan #define DD_LEGACY_MESSAGE_TAG 0 sebelum mengimpor cocoalumberjack atau tambahkan #define DD_LEGACY_MESSAGE_TAG 0 atau tambahkan -DDD_LEGACY_MESSAGE_TAG=0 ke bendera C lainnya / Other_cflags dalam proyek Xcode Anda.
Cocoalumberjack juga mengirim dengan implementasi backend untuk Swift-Log. Cukup tambahkan CocoalumberJack sebagai ketergantungan pada target SPM Anda (lihat di atas) dan juga tambahkan produk CocoaLumberjackSwiftLogBackend sebagai ketergantungan ke target Anda.
Anda kemudian dapat menggunakan DDLogHandler sebagai backend untuk Swift-Log, yang akan meneruskan semua pesan ke DDLog Cocoalumbajack. Anda masih akan mengkonfigurasi penebang dan format log yang Anda inginkan melalui DDLog , tetapi menulis pesan log akan dilakukan menggunakan Logger dari Swift-Log.
Dalam format log Anda sendiri, Anda dapat memanfaatkan properti swiftLogInfo di DDLogMessage untuk mengambil rincian pesan yang dicatat melalui Swift-Log.
Untuk menggunakan Swift-Log dengan CocoalumberJack, lihatlah cuplikan kode berikut untuk melihat cara memulai.
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 backendIni mirip dalam konsep dengan kerangka logging populer lainnya seperti Log4J, namun dirancang khusus untuk Objective-C, dan mengambil keuntungan dari fitur-fitur seperti multi-threading, pengiriman pusat grand (jika tersedia), operasi atom tanpa kunci, dan sifat dinamis dari runtime objektif-C.
Dalam kebanyakan kasus itu adalah urutan besarnya lebih cepat dari nslog.
Dibutuhkan sesedikit satu baris kode untuk mengonfigurasi penebang pohon saat aplikasi Anda diluncurkan. Kemudian cukup ganti pernyataan NSLOG Anda dengan pernyataan DDLOG dan itu saja. (Dan makro ddlog memiliki format dan sintaksis yang sama persis seperti NSLOG, jadi sangat mudah.)
Satu pernyataan log dapat dikirim ke beberapa penebang, artinya Anda dapat masuk ke file dan konsol secara bersamaan. Ingin lebih? Buat logger Anda sendiri (mudah) dan kirim pernyataan log Anda melalui jaringan. Atau ke database atau sistem file terdistribusi. Langit adalah batasnya.
Konfigurasikan logging Anda sesuka Anda. Ubah level log per file (sempurna untuk debugging). Ubah level log per logger (konsol verbose, tetapi file log ringkas). Ubah level log per konfigurasi xcode (verbose debug, tetapi rilis ringkas). Suruh pernyataan log Anda dikompilasi dari pembuatan rilis. Kustomisasi jumlah level log untuk aplikasi Anda. Tambahkan logging berbutir halus Anda sendiri. Ubah level log secara dinamis selama runtime. Pilih bagaimana & kapan Anda ingin file log Anda digulung. Unggah file log Anda ke server pusat. Kompres file log yang diarsipkan untuk menyimpan ruang disk ...
Versi penebang pohon saat ini membutuhkan:
Per rincian privasi aplikasi di App Store, Apple meminta pengembang aplikasi untuk memberikan info tentang pengumpulan data mereka, pemelihara SDK AS harus memberi mereka data yang sama.
Secara default, CocoalumberJack tidak mengumpulkan data apa pun.
Lihat daftar Praktik Pengumpulan Data kami.
CocoalumberJack adalah kerangka kerja logging yang memudahkan untuk mengirim log tersebut ke platform yang berbeda.
Inilah sebabnya mengapa mengumpulkan data mungkin terjadi dengan mudah, jika pengembang aplikasi memasukkan data sensitif ke dalam pesan log mereka.
Catatan penting: Pengembang aplikasi bertanggung jawab penuh atas setiap data sensitif yang dikumpulkan melalui sistem logging kami!
Karena itu, Anda harus mematuhi kebijakan Detail Privasi Apple (disebutkan di atas) dan mendokumentasikan cara -cara di mana data pengguna dikumpulkan. Karena jumlah skenario di mana data mungkin dikumpulkan secara tidak langsung melalui CocoalumberJack cukup besar, terserah Anda, sebagai pengembang aplikasi, untuk meninjau kode aplikasi Anda dengan benar dan mengidentifikasi kasus -kasus tersebut. Apa yang dapat kami lakukan untuk membantu adalah meningkatkan kesadaran tentang pengumpulan data potensial melalui kerangka kerja kami.
Data pribadi termasuk tetapi tidak terbatas pada:
Contoh : DDLogInfo("User: (myUser)") akan menambahkan info myUser ke log, jadi jika itu diteruskan ke pihak ke -3 atau dikirim melalui email, yang mungkin memenuhi syarat sebagai pengumpulan data.