ログの保存先
- ログファイルの保存場所は
~/Library/Logs
以下が標準なので、下記の通り宣言します
private var logFile: URL {
let library = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask).first!
return library
.appendingPathComponent("Logs")
.appendingPathComponent("XCGLoggerDemo.log")
}
- 非サンドボックス環境では以下の通り
/Users/<UserName>/Library/Logs/XCGLoggerDemo.log
- サンドボックス環境では以下の通り
-
Containers
以下は何ぞやというのは次を参照
/Users/<UserName>/Library/Containers/jp.co.gmail.xxx.XCGLoggerDemo/Data/Library/Logs/XCGLoggerDemo.log
実装例
- CocoaPodsでインストール
pod 'XCGLogger'
-
DaveWoodCom/XCGLoggerの
Basic Usage (Quick Start)
の通り進める -
AppDelegate.swift
にXCGLogger
のグローバル変数を定義する
import Cocoa
import XCGLogger
let log = XCGLogger.default
@main
class AppDelegate: NSObject, NSApplicationDelegate {
-
applicationDidFinishLaunching
で初期設定を行う
func applicationDidFinishLaunching(_ aNotification: Notification) {
log.setup(level: .debug, showThreadName: true, showLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: logFile, fileLevel: .debug)
}
- あとは任意の場所で以下のように呼び出せば、コンソールおよびログファイルに出力されます
log.info("Hello, XCGLoggerDemo!")
- コンソールへの出力例
2021-08-02 22:07:21.190 [Info] > XCGLogger writing log to: file:///Users/<UserName>/Library/Logs/XCGLoggerDemo.log
2021-08-02 22:07:21.190 [Info] > XCGLoggerDemo Version: 1.0 Build: 1 PID: 57277
2021-08-02 22:07:21.190 [Info] > XCGLogger Version: 7.0.1 - Level: Debug
2021-08-02 22:07:22.438 [Info] [main] [ViewController.swift:33] saveLogFile(message:) > Hello, XCGLoggerDemo!
- ログファイルへの出力例

