+++ /dev/null
-//
-// Logger.swift
-//
-//
-// Created by Harvey on 2021/4/27.
-//
-
-import Foundation
-
-/// 日记管理
-class Logger {
- static var isDebug: Bool = true
-
- fileprivate static let shared = Logger()
- 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 foldPath = NSHomeDirectory() + "/Documents/"
- 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(.middle)).log"
- if !FileManager.default.fileExists(atPath: path) {
- FileManager.default.createFile(atPath: path, contents: nil, attributes: nil)
-
- }
- return path
- }
-}
-
-extension Logger {
- static func debug(_ logs: Any..., line: Int = #line, separator: String = " ", terminator: String = "\n") {
-
- if Logger.isDebug {
- objc_sync_enter(Logger.shared)
- print(Logger.shared.dateString, terminator: " [DeepChords-\(String(format: "%03d", line))]: ")
- print(logs, separator: separator, terminator: terminator)
- let logString = Logger.shared.dateString + " [DeepChords-\(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)!)
- }
-}