Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Swiftでも
CocoaLumberjack
2015.7.21 関西モバイルアプリ研究会 #4
@itok_twit
@itok_twit
• いとうけい(itok)
• 公私共にプログラマ iOS / Mac(たまに Android や Windows)
• http://itok.jp/
Swift時代のLogger
やっぱり
CocoaLumberjack
準備
pod 'CocoaLumberjack/Swift',
:git => ‘https://github.com/CocoaLumberjack/CocoaLumberjack.git',
:branch => 'swift_2.0'
C...
まずは出力
// ログレベル指定
defaultDebugLevel = DDLogLevel.Verbose
// 使用するLoggerを追加(コンソール)
DDLog.addLogger(DDTTYLogger.sharedInstance...
おすすめポイント1
let fileLogger = DDFileLogger()
// 24時間単位でファイル切り替え
fileLogger.rollingFrequency = 60 * 60 * 24
// ログファイルのサイズ上限1MB...
おすすめポイント2
#if DEBUG
// Debug時だけコンソール出力
DDLog.addLogger(DDTTYLogger.sharedInstance())
defaultDebugLevel = DDLogLevel.Verbos...
おすすめポイント3
class Formatter: DDDispatchQueueLogFormatter {
override func formatLogMessage(msg: DDLogMessage!) -> String!
{
∼...
おすすめポイント4
class CrashlyticsLogger: DDAbstractLogger {
override func logMessage(logMessage: DDLogMessage!) {
CLSLogv("%@", ...
CocoaLumberjackで
楽しくロギング
Upcoming SlideShare
Loading in …5
×

20150721 SwiftでもCocoaLumberjack

2,041 views

Published on

関西モバイルアプリ研究会 #4
「SwiftでもCocoaLumberjack」の資料です

Published in: Software
  • Be the first to comment

20150721 SwiftでもCocoaLumberjack

  1. 1. Swiftでも CocoaLumberjack 2015.7.21 関西モバイルアプリ研究会 #4 @itok_twit
  2. 2. @itok_twit • いとうけい(itok) • 公私共にプログラマ iOS / Mac(たまに Android や Windows) • http://itok.jp/
  3. 3. Swift時代のLogger
  4. 4. やっぱり CocoaLumberjack
  5. 5. 準備 pod 'CocoaLumberjack/Swift', :git => ‘https://github.com/CocoaLumberjack/CocoaLumberjack.git', :branch => 'swift_2.0' CocoaPods (0.37.2 / Xcode 7beta)
  6. 6. まずは出力 // ログレベル指定 defaultDebugLevel = DDLogLevel.Verbose // 使用するLoggerを追加(コンソール) DDLog.addLogger(DDTTYLogger.sharedInstance()) // ログ出力 DDLogInfo("app launch”) 2015-07-16 04:22:58:409 LogTest[9158:501573] app launch
  7. 7. おすすめポイント1 let fileLogger = DDFileLogger() // 24時間単位でファイル切り替え fileLogger.rollingFrequency = 60 * 60 * 24 // ログファイルのサイズ上限1MB fileLogger.maximumFileSize = 1024 * 1024 // 10日以上古いログは削除 fileLogger.logFileManager.maximumNumberOfLogFiles = 10 DDLog.addLogger(fileLogger) ファイル書き出しも楽
  8. 8. おすすめポイント2 #if DEBUG // Debug時だけコンソール出力 DDLog.addLogger(DDTTYLogger.sharedInstance()) defaultDebugLevel = DDLogLevel.Verbose #else // Releaseビルドではログレベルも変える defaultDebugLevel = DDLogLevel.Info #endif Debug/Releaseで出力を変える
  9. 9. おすすめポイント3 class Formatter: DDDispatchQueueLogFormatter { override func formatLogMessage(msg: DDLogMessage!) -> String! { ∼略∼ return "(date) |(level)| [(msg.fileName) (msg.function)] #(msg.line): (msg.message)" } } DDTTYLogger.sharedInstance().logFormatter = Formatter() 04:37:17.758 |I| [AppDelegate application(_:didFinishLaunchingWithOptions:)] #43: app launch ログフォーマットも自由自在
  10. 10. おすすめポイント4 class CrashlyticsLogger: DDAbstractLogger { override func logMessage(logMessage: DDLogMessage!) { CLSLogv("%@", getVaList([logMessage.message])) } } DDLog.addLogger(CrashlyticsLogger()) Fabric(Crashlytics)連携も
  11. 11. CocoaLumberjackで 楽しくロギング

×