【Swift】OSLogの使い方!ログ出力方法とファイルへ保存

この記事からわかること

  • SwiftOSLog使い方
  • ログ出力する方法
  • ログレベル種類

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

参考文献:公式リファレンス:OSLog

OSLogとは?

OSLogSwiftで使用できるログ出力ライブラリです。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")

出力するインスタンスの文字列表現を変更する

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index