はじめに
こんにちは、nukkyです。
今回はログ管理に便利なライブラリ「CocoaLumberjack」を紹介したいと思います。
準備
今回もおなじみCarthageを使用します。
Cartfileにこちらを記述してください。
1 | github "CocoaLumberjack/CocoaLumberjack" |
そうしたら、以下のコマンドでビルドしてください。
1 | carthage update --platform iOS |
実装
出力先の設定
「CocoaLumberjack」はログの出力先を選択することができます。
主な出力先は3つになります
・Xcodeのコンソール
・アップルのシステムロガー
・ファイル
以下の方法で設定できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 | // 可能であればXcodeのコンソールにログを出力する。 DDLog.add(DDTTYLogger.sharedInstance) // アップルのシステムロガーに送信する(送信した内容はConsole.appで確認可能)。 DDLog.add(DDASLLogger.sharedInstance) // ファイルにログを出力する。 let fileLogger: DDFileLogger = DDFileLogger() // ファイルの生成周期 fileLogger.rollingFrequency = TimeInterval(60*60*24) // 生成するファイル数の最大 fileLogger.logFileManager.maximumNumberOfLogFiles = 7 DDLog.add(fileLogger) |
ログの出力レベルを設定する
プロジェクトで使用するログの出力レベルを設定します。
設定できるログの出力レベルは以下になります。
DDLogLevel.error
DDLogError関数を使用したログ出力を表示する。
DDLogLevel.warning
DDLogError関数とDDLogWarn関数を使用したログ出力を表示する。
DDLogLevel.info
DDLogError関数とDDLogWarn関数とDDLogInfo関数を使用したログ出力を表示する。
DDLogLevel.debug
DDLogError関数とDDLogWarn関数とDDLogInfo関数とDDLogDebug関数を使用したログ出力を表示する。
DDLogLevel.verbose
すべて(DDLogError関数、DDLogWarn関数、DDLogInfo関数、DDLogVerbose関数)のログ出力を表示する。
DDLogLevel.off
ログを表示しない。
設定方法は以下になります。
1 | DDLog.add(DDTTYLogger.sharedInstance, with: DDLogLevel.info) |
ログの出力
実際ログを出力する方法は以下になります、どの関数が出力レベルに関しているかは上記の通りです。
1 2 3 4 5 | DDLogVerbose("Verbose"); DDLogDebug("Debug"); DDLogInfo("Info"); DDLogWarn("Warn"); DDLogError("Error"); |
さいごに
「CocoaLumberjack」いかがだったでしょうか?ログの出力は大事ですが開発や本番環境を考えると色々面倒なことが多いので、こういうライブラリを使用して快適に開発を進めたいですね。