LoginSignup
31
20

More than 3 years have passed since last update.

iOS14におけるデバッグメッセージを記録するためのOSフレームワークの使用

Last updated at Posted at 2020-09-25

ご存じの通り、printを利用するとログメッセージをXcodeのコンソール内に表示させることができますが、printではログメッセージは一切保存されません。

しかしながら、printコマンドで表示されたメッセージに含まれているのはテキストのみです。ログメッセージをさらにオーガナイズしたい場合には、os フレームワークの使用が可能です。

この記事では、iOS 14におけるSwiftでの os フレームワークの使用について、およびログメッセージを読むための Console.app アプリの使用について説明します。

os フレームワークの使用

iOS 14では、os フレームワークが向上します。

まずは、ログインスタンスを初期化します

let logger = Logger(subsystem: "com.example.OSLogExample", category: "OSLogExample")

Console.app アプリケーション内で名前を検索することでログメッセージを簡単に見つけることができるように、subsystemcategory に一意の名前を指定する必要があります。

ログレベル

5つのログレベルがあります。

説明 Xcode にリアルタイムで表示されますか。 Console.app にリアルタイムで表示されますか。
.debug 一般的なデバッグメッセージのため はい いいえ
.info 情報ログメッセージのため はい はい
.notice 通知メッセージのため はい はい
.error エラーメッセージのため はい はい
.fault 障害メッセージのため はい はい
@State var publicLogContent: String = "パブリックログコンテンツ"
@State var privateLogContent: String = "プライベートログコンテンツ"
//.debug
logger.debug("これはデバッグログです: \(self.publicLogContent, privacy: .public) \(self.privateLogContent, privacy: .private)")
//.log
logger.log("これは情報ログです: \(self.publicLogContent, privacy: .public) \(self.privateLogContent, privacy: .private)")
//.notice
logger.notice("これは通知ログです: \(self.publicLogContent, privacy: .public) \(self.privateLogContent, privacy: .private)")
//.error
logger.error("これはエラーログです: \(self.publicLogContent, privacy: .public) \(self.privateLogContent, privacy: .private)")
//.fault
logger.fault("これは不具合です: \(self.publicLogContent, privacy: .public) \(self.privateLogContent, privacy: .private)")

Console.app アプリケーション内にプライベートコンテンツ (privacy: .private) が非表示になります

全てのメッセージのタイプに関して、お持ちのデバイスがコンピューターにつながっている場合、メッセージはXcodeウィンドウで見られます。

image

.info.notice.error及び .fault については、お使いのデバイスがコンピューターに接続されており、Xcodeコードによってローンチされている場合、Console.app アプリケーション内に現れるメッセージを確認できます。

スクリーンショット 0002-09-26 2.28.05.png

Xcodeでアプリが起動していない状態で、デバイスをコンピュータに接続すると、プライベートコンテンツが非表示になります。

スクリーンショット 0002-09-26 2.28.39.png

Macで Console.app アプリを使用する

Macで Console.app を開き、iPhoneから送られてくるログメッセージを読むことができます。場所は アプリケーション > ユーティリティ > コンソール です。

次に、カテゴリ名 category を入力します(この例では OSLogExample です)。左の矢印アイコンをクリックして、検索条件を「プロセス」に変更します。

スクリーンショット 0002-09-26 2.25.14.png


:relaxed: Twitter @MszPro

:sunny: 私の公開されているQiita記事のリストをカテゴリー別にご覧いただけます。

31
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
20