【Swift】OSLogの使い方!ログ出力方法とファイルへ保存
この記事からわかること
- SwiftのOSLogの使い方
- ログを出力する方法
- ログレベルの種類
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
参考文献:公式リファレンス:OSLog
OSLogとは?
OSLogはSwiftで使用できるログ出力ライブラリです。OSLogを使用することで細かいログレベル(デバッグ、情報、警告、エラーなど)を指定してメッセージを出力しコンソールにログを記録することができます。
OSLogではprint
などよりも詳細な情報を簡単に得ることができます。
同じようなログ出力ライブラリにXCGLoggerがあります。
使い方
OSLogはデフォルトでXcodeに組み込まれているのでimport
文を記述するだけで使用可能になります。
import os
ログ出力するためにはLogger
インスタンスを作成します。その際に引数subsystem
にログを出力するアプリを識別するための識別子を渡します。規定があるわけではありませんがcom.amefure.sample
のような逆引きDNS表記の文字列が渡すことが公式より推奨されています。引数category
にはログメッセージを分類、フィルタリングするためのカテゴリー名を渡します。
let logger = Logger(subsystem: "com.amefure.sample", category: "Custom Category")
これでログを出力する準備は完了です。
ログを出力する
実際にログを出力するにはdebug
メソッドなどを使用し、引数に出力したいメッセージを渡します。
logger.debug("デバッグメッセージ")
するとコンソールに日付や時間(タイムスタンプ)、アプリ名[プロセスID:スレッドID]、カテゴリ名、メッセージ形式で出力されます。
2023-09-01 09:41:41.384240+0900 TestOSLog[54692:15656993] [Custom Category] デバッグメッセージ
ログレベルの種類
出力するメソッドはログレベルによって複数用意されています。
logger.trace("trace")
logger.debug("debug")
logger.info("info")
logger.notice("notice")
logger.error("error")
logger.fault("fault")
logger.critical("critical")
出力するインスタンスの文字列表現を変更する
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。