祐樹(93)60この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。iOSアプリをデバッグするときにNSLogを使ってログを確認するのは皆さんも良くやっていると思います。実際に業務で構築するときは、案件に合わせてマクロを定義してデバッグ時とリリース時の出力を制御したりする方も多いのではないでしょうか。毎回この設定を行うのは非常に面倒です。そこで登場するのがCocoaLumberjackです!CocoaLumberjackとは?CocoaLumberjackはiOSで利用できるオープンソース(BSDライセンス)のログライブラリです。出力先にコンソール以外を選択することができたり、予め用意されたログ出力レベルに応じてしこんだログの出力を制御できたりと非常に柔軟に使用できます。NSLogよりも高速に動作するらしいです。使ってみましょう!CocoaLumberJackの導入CocoaLumberJackの導入は非常に簡単です。方法は以下の2つです。CocoaPodsからインストールCocoaPodsからインストールする場合は、Podfileに以下を記述します。'CocoaLumberjack'ソースをダウンロードして直接追加するソースを直接プロジェクトに追加する場合は、Github(robbiehanson/CocoaLumberjack)にソースコードが公開されているのでそこからダウンロードします。あとはCocoaLumberjack/Lumberjack以下のソースをプロジェクトに追加するだけです。*)launchOptionsメソッドに以下のコードを記述します。YES;}・・・@end出力先の設定方法CocoaLumberjackでは以下の出力先が設定可能です。DDLogNSLogに変わる標準的なメソッド。DDTTYLogger可能であればXcodeのコンソールにログを出力する。DDASLLoggerアップルのシステムロガーに送信する(送信した内容はConsole.appで確認可能)。DDFileLoggerファイルにログを出力する。出力先は複数設定することが可能で、その場合は以下のように記述します。YES;}・・・@endログの出力レベルを設定する次にプロジェクトで使用するログの出力レベルを設定します。ログの出力レベルを設定するには以下の記述をXxx-Prefix.pchなどに記述する必要があります。LOG_LEVEL_VERBOSE;設定できるログの出力レベルは以下の6つです。LOG_LEVEL_ERRORDDLogError関数を使用したログ出力を表示する。LOG_LEVEL_WARNDDLogError関数とDDLogWarn関数を使用したログ出力を表示する。LOG_LEVEL_INFODDLogError関数とDDLogWarn関数とDDLogInfo関数を使用したログ出力を表示する。LOG_LEVEL_DEBUGDDLogError関数とDDLogWarn関数とDDLogInfo関数とDDLogDebug関数を使用したログ出力を表示する。LOG_LEVEL_VERBOSEすべて(DDLogError関数、DDLogWarn関数、DDLogInfo関数、DDLogVerbose関数)のログ出力を表示する。LOG_LEVEL_OFFログを表示しない。デバッグ時とリリース時で出力するログを変える場合は、以下のようにXxx-Prefix.pchに以下のように記述できます。LOG_LEVEL_OFF;#endifこのように、状況と出力レベルに応じてログの出力を制御できるので、気兼ねなくソース中にログを仕込むことができます。ログを出力してみよう!これでCocoaLumberjackを使用する準備ができました。あとはログを仕込むだけです。ログを出力するには以下の5つの関数を使用します。DDLogError関数LOG_LEVEL_OFF以外の出力レベルが設定されてた場合に出力される。DDLogWarn関数LOG_LEVEL_ERROR、LOG_LEVEL_OFF以外の出力レベルが設定されてた場合に出力される。DDLogInfo関数LOG_LEVEL_ERROR、LOG_LEVEL_WARN、LOG_LEVEL_OFF以外の出力レベルが設定されてた場合に出力される。DDLogDebug関数LOG_LEVEL_ERROR、LOG_LEVEL_WARN、LOG_LEVEL_INFO、LOG_LEVEL_OFF以外の出力レベルが設定されてた場合に出力される。DDLogVerbose関数LOG_LEVEL_VERBOSEが設定されてた場合に出力される。LOG_LEVEL_OFFログを表示しない。使い方はNSLogと同様です。デバッグ情報DDLogDebug(@"XXXメソッドが実行されました。936,194まだプロフィールが設定されていません。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。濱田孝治253re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。PolicyのConditionにaws:CalledViaというキーが追加されました。いったキーなのかご説明します。夏目祐樹409こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介256SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。濱田孝治253re:Invnetの動画検索でもめちゃくちゃ便利ですが、その他ブログやホワイトペーパーやGitHubも横断検索できるので、是非一度使ってみてください。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。