From: liangzhenying <867174124@qq.com> Date: Tue, 2 Jul 2024 09:11:39 +0000 (+0800) Subject: 添加日志保存 X-Git-Url: http://git.snicker.com.cn/sitemap.xml?a=commitdiff_plain;h=0f2c9dcd40ffad59303eacc6e4ca0af8d60dbe12;p=mirrors%2FIOTBluetooth-iOS.git 添加日志保存 --- diff --git a/IOTBluetooth/IOTBluetooth/IOTBluetooth.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate b/IOTBluetooth/IOTBluetooth/IOTBluetooth.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate index 5086531..b322eb2 100644 Binary files a/IOTBluetooth/IOTBluetooth/IOTBluetooth.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate and b/IOTBluetooth/IOTBluetooth/IOTBluetooth.xcodeproj/project.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Date.swift b/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Date.swift index 9fc933d..6f0e492 100644 --- a/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Date.swift +++ b/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Date.swift @@ -49,6 +49,9 @@ extension Date { /// e.g. 2020å¹´01月01日 01:01:01 static let long1: Format = .init("yyyyå¹´MM月dd日 HH:mm:ss") + /// e.g. 2020-01-01 010101 + static let long2: Format = .init("yyyy-MM-dd HHmmss") + /// e.g. 2020-01-01 01:01:01.088 static let full: Format = .init("yyyy-MM-dd HH:mm:ss.SSS") diff --git a/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Logger.swift b/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Logger.swift index 1236c7f..2e3aba4 100644 --- a/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Logger.swift +++ b/IOTBluetooth/IOTBluetooth/IOTBluetooth/Tools/Logger.swift @@ -12,11 +12,35 @@ class Logger { static var isDebug: Bool = false fileprivate static let shared = Logger() - private init() { } + private var fileHandle:FileHandle? + private init() { + let path = getPath() + fileHandle = FileHandle(forWritingAtPath: path)! +// fileHandle?.seekToEndOfFile() + } fileprivate var dateString: String { Date().format(.full) } static var logs: [String] = [] + + + private func getPath()->String{ +// let path = NSHomeDirectory() + "/Documents/IOTBluetooth/" + "\(Date().format(.middle)).log" + let foldPath = NSHomeDirectory() + "/Documents/IOTBluetooth/" + let fileManager = FileManager.default + if !fileManager.fileExists(atPath: foldPath) { + do { + try FileManager.default.createDirectory(atPath: foldPath, withIntermediateDirectories: true, attributes: nil) + } catch { + return "" + } + } + let path = foldPath + "\(Date().format(.long2)).log" + if !FileManager.default.fileExists(atPath: path) { + FileManager.default.createFile(atPath: path, contents: nil, attributes: nil) + } + return path + } } extension Logger { @@ -27,7 +51,19 @@ extension Logger { print(logs, separator: separator, terminator: terminator) let logString = Logger.shared.dateString + " [IOTBluetooth-\(String(format: "%03d", line))]: " + logs.map({ "\($0)" }).joined(separator: separator) + terminator Self.logs.append(logString) + Logger.shared.saveLog(log: logString) } objc_sync_exit(Logger.shared) + + + } + + private func saveLog(log:String){ + fileHandle?.write(log.data(using: .utf8)!) +// if #available(iOS 13.0, *) { +// try? fileHandle.close() +// } else { +// // Fallback on earlier versions +// } } }