LoginSignup
0
0

More than 1 year has passed since last update.

SwiftのログフレームワークXCGLoggerを使ってみた(macOS)

Posted at

ログの保存先

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
/Users/<UserName>/Library/Containers/jp.co.gmail.xxx.XCGLoggerDemo/Data/Library/Logs/XCGLoggerDemo.log

実装例

  • CocoaPodsでインストール
pod 'XCGLogger'
  • DaveWoodCom/XCGLoggerBasic Usage (Quick Start)の通り進める
  • AppDelegate.swiftXCGLoggerのグローバル変数を定義する
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!
  • ログファイルへの出力例

image

image

0
0
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
0
0