mirror of
https://github.com/yJason/ClashX-Dashboard.git
synced 2026-03-01 00:35:19 +08:00
fix: spm
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
//
|
||||
// Logger.swift
|
||||
// ClashX
|
||||
//
|
||||
// Created by CYC on 2018/8/7.
|
||||
// Copyright © 2018年 yichengchen. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import CocoaLumberjackSwift
|
||||
|
||||
class Logger {
|
||||
static let shared = Logger()
|
||||
var fileLogger: DDFileLogger = DDFileLogger()
|
||||
|
||||
private init() {
|
||||
#if DEBUG
|
||||
DDLog.add(DDOSLogger.sharedInstance)
|
||||
#endif
|
||||
// default time zone is "UTC"
|
||||
let dataFormatter = DateFormatter()
|
||||
dataFormatter.setLocalizedDateFormatFromTemplate("YYYY/MM/dd HH:mm:ss:SSS")
|
||||
fileLogger.logFormatter = DDLogFileFormatterDefault.init(dateFormatter: dataFormatter)
|
||||
fileLogger.rollingFrequency = TimeInterval(60 * 60 * 24) // 24 hours
|
||||
fileLogger.logFileManager.maximumNumberOfLogFiles = 3
|
||||
DDLog.add(fileLogger)
|
||||
dynamicLogLevel = ConfigManager.selectLoggingApiLevel.toDDLogLevel()
|
||||
}
|
||||
|
||||
private func logToFile(msg: String, level: ClashLogLevel) {
|
||||
switch level {
|
||||
case .debug, .silent:
|
||||
DDLogDebug(msg)
|
||||
case .error:
|
||||
DDLogError(msg)
|
||||
case .info:
|
||||
DDLogInfo(msg)
|
||||
case .warning:
|
||||
DDLogWarn(msg)
|
||||
case .unknow:
|
||||
DDLogWarn(msg)
|
||||
}
|
||||
}
|
||||
|
||||
static func log(_ msg: String, level: ClashLogLevel = .info) {
|
||||
shared.logToFile(msg: "[\(level.rawValue)] \(msg)", level: level)
|
||||
}
|
||||
|
||||
func logFilePath() -> String {
|
||||
return fileLogger.logFileManager.sortedLogFilePaths.first ?? ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user