はじめに
iOS(Swift)では複数ログ出力する方法がある。
最新バージョンのXcodeを使用して検証してみようと思う。
前提
項目 | 内容 |
---|---|
Mac OS | Sonoma 14.5 |
Xcode | 15.4 |
使用言語 | Swift (バージョンは5) |
結論
いきなりですが、ログ出力はos.Loggerを使ってください!!
これが便利すぎるので、他のログ出力メソッドは使う必要ありません
ログの種類
昔からあるシンプルなログ出力メソッド。
タイムスタンプは自動では出力されないが、他言語と同じ使い方で出力可能。
NSLog
これも思いっきり昔からあるログ出力メソッド。
自動でタイムスタンプが出力される。
debugPrint
これもシンプルなログ出力メソッドで、Debug時の効率が良い(らしい)
os.Logger
勝ち、圧倒的勝利、便利すぎる。
Xcode15からoslogと統合され、カテゴリなどに合わせてログをフィルタリングすることが可能となります。
また、JumpToSource機能を使って、os.Loggerから出力したログを右クリックで"Jump To Source"を選択すると、ログ出力した該当箇所にジャンプできるます。
はっきり言って便利すぐる
・使い方
サンプルコードは以下の通り
import os
〜〜〜〜〜〜
static let logger = Logger(subsystem: "com.test.debug.hogehoge", category: "Logger")
private func testLogger() {
ViewController.logger.trace("Logger: \(#function), \(#line)")
}
Tips
・Swiftプログラミング言語で使用される特殊な識別子がいくつか用意されている。
#file
→ファイルまでのパスを出力
#function
→メソッド名を出力
#line
→行数を出力