[Swift] Logging 라이브러리를 간단하게 비교해봤어요.
개시하다
Swift의 Logging 라이브러리를 프로젝트에 가져오기 위해 간단한 조사를 했습니다.
이번 조사의 3개 라이브러리의 개요를 간신히 총결하였다.
CocoaLumberjack
Objective-C 시대부터 유행했던 프로그램 라이브러리라 온라인에는 즐거운 정보가 많다.
MIT 라이센스가 아닙니다.
• 콘솔 출력// Xcodeのコンソールに出力
DDLog.add(DDTTYLogger.sharedInstance)
// ログレベルに応じた出力
DDLogDebug("Debug")
DDLogInfo("Info")
/파일 출력 설정// ログファイルのパス指定
let manager: DDLogFileManagerDefault = DDLogFileManagerDefault(logsDirectory: "/path/to/file")
// ファイルロガークラス
et fileLogger: DDFileLogger = DDFileLogger(logFileManager: manager)
// 出力周期(24h)
fileLogger.rollingFrequency = TimeInterval(60 * 60 * 24)
// 最大ファイルサイズ(10MB)
fileLogger.maximumFileSize = 10 * 1024 * 1024
// 最大ファイル数(7ファイル)
fileLogger.logFileManager.maximumNumberOfLogFiles = 7
// 追加
DDLog.add(fileLogger)
· 사용자 정의 클래스에서 로그 단계에 따라 파일 출력 목표를 변경합니다class WarningLogFormatter: NSObject, DDLogFormatter {
func format(message logMessage: DDLogMessage) -> String? {
// ログレベルがWarningの時のみ出力
if logMessage.level == .warning {
return logMessage.message
} else {
return nil
}
}
}
fileLogger.logFormatter = WarningLogFormatter()
사용자 정의 레벨을 제작함으로써 많은 사용자 정의를 할 수 있습니다.
XCGLogger
Swift 쓰기도 좋고, 코콜럼버잭이 할 수 있는 일은 대충 기억할 수 있다.
• 콘솔 출력// ログ定義
let log = XCGLogger.default
// セットアップ
log.setup(level: .verbose,// 出力するログレベル
showThreadName: true,// スレッド名表示フラグ
showLevel: true,// レベル表示フラグ
showFileNames: true,// ファイル名表示フラグ
showLineNumbers: true,// 行番号表示フラグ
showDate: true,// 日付表示フラグ
writeToFile: "path/to/file",// ログファイルパス
fileLevel: .debug)// ファイル出力のログレベル
// ログレベルに応じた出力
log.debug("Debug")
log.info("Info")
· 준비된 Destination Protocol을 계승한 반을 이용하여 맞춤형 제작let fileDestination = FileDestination(writeToFile: "/path/to/file", identifier: "advancedLogger.fileDestination")
// 詳細設定
fileDestination.outputLevel = .debug
fileDestination.showLogIdentifier = false
fileDestination.showFunctionName = true
fileDestination.showThreadName = true
fileDestination.showLevel = true
fileDestination.showFileName = true
fileDestination.showLineNumber = true
fileDestination.showDate = true
// 設定追加
log.add(destination: fileDestination)
위의 파일 출력 사용자 정의FileDesitination
를 제외하고는
사용자 정의 시스템 로그AppleSystemLogDestination
,
콘솔 로그 사용자 정의ConsoleDestination
,
테스트를 위한 맞춤형TestDestination
네.
SwiftBeaver
참고가 매우 상세하다.( https://docs.swiftybeaver.com/collection/1-framework )
플랫폼의 Mac 응용 프로그램이 있기 때문에 사용자 로그를 간단하게 수집할 수 있습니다.
사용자 로그 수집은 다른 프로그램 라이브러리와 다릅니다.
• 콘솔/파일 출력// ログ定義
let log = SwiftyBeaver.self
// コンソール出力設定
let console = ConsoleDestination()
console.format = "$DHH:mm:ss$d $L $M"
// ファイル出力設定
let file = FileDestination()
file.logFileURL = URL(fileURLWithPath: "/path/to/file")
// プラットフォーム設定
let cloud = SBPlatformDestination(appID: "foo", appSecret: "bar", encryptionKey: "123")
// 設定追加
log.addDestination(console)
log.addDestination(file)
log.addDestination(cloud)
// ログレベルに応じた出力
log.debug("Debug")
log.info("Info")
• 플랫폼용 Mac 애플리케이션
1. 공식 홈페이지https://swiftybeaver.com에서 다운로드
2. 앱 시작, 로그인
3. ID/applet/encryptionKey를 SBPlastiform Destination에 적용한 init 매개변수 복사
4. 로그 출력 후 Mac 애플리케이션을 통해 확인할 수 있습니다!
로그 수준/UDID/터미널/OS 버전/어플리케이션 버전 등을 필터링할 수도 있습니다.
무료/유료 계획이 있습니다.
감상
기술 편의성과 사용자 정의를 고려하여 기본적으로 XCGLogger를 선택할 수 있습니다.
SwiftBeaver에서 필요에 따라 플랫폼을 가져올 수 있습니다.
Reference
이 문제에 관하여([Swift] Logging 라이브러리를 간단하게 비교해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/negi0205/items/f97468ce0da44975bd5c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Objective-C 시대부터 유행했던 프로그램 라이브러리라 온라인에는 즐거운 정보가 많다.
MIT 라이센스가 아닙니다.
• 콘솔 출력
// Xcodeのコンソールに出力
DDLog.add(DDTTYLogger.sharedInstance)
// ログレベルに応じた出力
DDLogDebug("Debug")
DDLogInfo("Info")
/파일 출력 설정// ログファイルのパス指定
let manager: DDLogFileManagerDefault = DDLogFileManagerDefault(logsDirectory: "/path/to/file")
// ファイルロガークラス
et fileLogger: DDFileLogger = DDFileLogger(logFileManager: manager)
// 出力周期(24h)
fileLogger.rollingFrequency = TimeInterval(60 * 60 * 24)
// 最大ファイルサイズ(10MB)
fileLogger.maximumFileSize = 10 * 1024 * 1024
// 最大ファイル数(7ファイル)
fileLogger.logFileManager.maximumNumberOfLogFiles = 7
// 追加
DDLog.add(fileLogger)
· 사용자 정의 클래스에서 로그 단계에 따라 파일 출력 목표를 변경합니다class WarningLogFormatter: NSObject, DDLogFormatter {
func format(message logMessage: DDLogMessage) -> String? {
// ログレベルがWarningの時のみ出力
if logMessage.level == .warning {
return logMessage.message
} else {
return nil
}
}
}
fileLogger.logFormatter = WarningLogFormatter()
사용자 정의 레벨을 제작함으로써 많은 사용자 정의를 할 수 있습니다.XCGLogger
Swift 쓰기도 좋고, 코콜럼버잭이 할 수 있는 일은 대충 기억할 수 있다.
• 콘솔 출력// ログ定義
let log = XCGLogger.default
// セットアップ
log.setup(level: .verbose,// 出力するログレベル
showThreadName: true,// スレッド名表示フラグ
showLevel: true,// レベル表示フラグ
showFileNames: true,// ファイル名表示フラグ
showLineNumbers: true,// 行番号表示フラグ
showDate: true,// 日付表示フラグ
writeToFile: "path/to/file",// ログファイルパス
fileLevel: .debug)// ファイル出力のログレベル
// ログレベルに応じた出力
log.debug("Debug")
log.info("Info")
· 준비된 Destination Protocol을 계승한 반을 이용하여 맞춤형 제작let fileDestination = FileDestination(writeToFile: "/path/to/file", identifier: "advancedLogger.fileDestination")
// 詳細設定
fileDestination.outputLevel = .debug
fileDestination.showLogIdentifier = false
fileDestination.showFunctionName = true
fileDestination.showThreadName = true
fileDestination.showLevel = true
fileDestination.showFileName = true
fileDestination.showLineNumber = true
fileDestination.showDate = true
// 設定追加
log.add(destination: fileDestination)
위의 파일 출력 사용자 정의FileDesitination
를 제외하고는
사용자 정의 시스템 로그AppleSystemLogDestination
,
콘솔 로그 사용자 정의ConsoleDestination
,
테스트를 위한 맞춤형TestDestination
네.
SwiftBeaver
참고가 매우 상세하다.( https://docs.swiftybeaver.com/collection/1-framework )
플랫폼의 Mac 응용 프로그램이 있기 때문에 사용자 로그를 간단하게 수집할 수 있습니다.
사용자 로그 수집은 다른 프로그램 라이브러리와 다릅니다.
• 콘솔/파일 출력// ログ定義
let log = SwiftyBeaver.self
// コンソール出力設定
let console = ConsoleDestination()
console.format = "$DHH:mm:ss$d $L $M"
// ファイル出力設定
let file = FileDestination()
file.logFileURL = URL(fileURLWithPath: "/path/to/file")
// プラットフォーム設定
let cloud = SBPlatformDestination(appID: "foo", appSecret: "bar", encryptionKey: "123")
// 設定追加
log.addDestination(console)
log.addDestination(file)
log.addDestination(cloud)
// ログレベルに応じた出力
log.debug("Debug")
log.info("Info")
• 플랫폼용 Mac 애플리케이션
1. 공식 홈페이지https://swiftybeaver.com에서 다운로드
2. 앱 시작, 로그인
3. ID/applet/encryptionKey를 SBPlastiform Destination에 적용한 init 매개변수 복사
4. 로그 출력 후 Mac 애플리케이션을 통해 확인할 수 있습니다!
로그 수준/UDID/터미널/OS 버전/어플리케이션 버전 등을 필터링할 수도 있습니다.
무료/유료 계획이 있습니다.
감상
기술 편의성과 사용자 정의를 고려하여 기본적으로 XCGLogger를 선택할 수 있습니다.
SwiftBeaver에서 필요에 따라 플랫폼을 가져올 수 있습니다.
Reference
이 문제에 관하여([Swift] Logging 라이브러리를 간단하게 비교해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/negi0205/items/f97468ce0da44975bd5c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
// ログ定義
let log = XCGLogger.default
// セットアップ
log.setup(level: .verbose,// 出力するログレベル
showThreadName: true,// スレッド名表示フラグ
showLevel: true,// レベル表示フラグ
showFileNames: true,// ファイル名表示フラグ
showLineNumbers: true,// 行番号表示フラグ
showDate: true,// 日付表示フラグ
writeToFile: "path/to/file",// ログファイルパス
fileLevel: .debug)// ファイル出力のログレベル
// ログレベルに応じた出力
log.debug("Debug")
log.info("Info")
let fileDestination = FileDestination(writeToFile: "/path/to/file", identifier: "advancedLogger.fileDestination")
// 詳細設定
fileDestination.outputLevel = .debug
fileDestination.showLogIdentifier = false
fileDestination.showFunctionName = true
fileDestination.showThreadName = true
fileDestination.showLevel = true
fileDestination.showFileName = true
fileDestination.showLineNumber = true
fileDestination.showDate = true
// 設定追加
log.add(destination: fileDestination)
참고가 매우 상세하다.( https://docs.swiftybeaver.com/collection/1-framework )
플랫폼의 Mac 응용 프로그램이 있기 때문에 사용자 로그를 간단하게 수집할 수 있습니다.
사용자 로그 수집은 다른 프로그램 라이브러리와 다릅니다.
• 콘솔/파일 출력
// ログ定義
let log = SwiftyBeaver.self
// コンソール出力設定
let console = ConsoleDestination()
console.format = "$DHH:mm:ss$d $L $M"
// ファイル出力設定
let file = FileDestination()
file.logFileURL = URL(fileURLWithPath: "/path/to/file")
// プラットフォーム設定
let cloud = SBPlatformDestination(appID: "foo", appSecret: "bar", encryptionKey: "123")
// 設定追加
log.addDestination(console)
log.addDestination(file)
log.addDestination(cloud)
// ログレベルに応じた出力
log.debug("Debug")
log.info("Info")
• 플랫폼용 Mac 애플리케이션1. 공식 홈페이지https://swiftybeaver.com에서 다운로드
2. 앱 시작, 로그인
3. ID/applet/encryptionKey를 SBPlastiform Destination에 적용한 init 매개변수 복사
4. 로그 출력 후 Mac 애플리케이션을 통해 확인할 수 있습니다!
로그 수준/UDID/터미널/OS 버전/어플리케이션 버전 등을 필터링할 수도 있습니다.
무료/유료 계획이 있습니다.
감상
기술 편의성과 사용자 정의를 고려하여 기본적으로 XCGLogger를 선택할 수 있습니다.
SwiftBeaver에서 필요에 따라 플랫폼을 가져올 수 있습니다.
Reference
이 문제에 관하여([Swift] Logging 라이브러리를 간단하게 비교해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/negi0205/items/f97468ce0da44975bd5c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Swift] Logging 라이브러리를 간단하게 비교해봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/negi0205/items/f97468ce0da44975bd5c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)