Files
OrderScheduling/Pods/CocoaDebug/Sources/Logs/_SwiftLogHelper.swift
DDIsFriend 63ca919ed5 update
2023-08-23 09:24:40 +08:00

50 lines
1.6 KiB
Swift

//
// Example
// man
//
// Created by man 11/11/2018.
// Copyright © 2020 man. All rights reserved.
//
import Foundation
public class _SwiftLogHelper: NSObject {
var enable: Bool = true
@objc public static let shared = _SwiftLogHelper()
private override init() {}
fileprivate func parseFileInfo(file: String?, function: String?, line: Int?) -> String? {
guard let file = file, let function = function, let line = line, let fileName = file.components(separatedBy: "/").last else {return nil}
return "\(fileName)[\(line)]\(function)\n"
}
public func handleLog(file: String?, function: String?, line: Int?, message: Any..., color: UIColor?) {
let stringContent = message.reduce("") { result, next -> String in
return "\(result)\(result.count > 0 ? " " : "")\(next)"
}
commonHandleLog(file: file, function: function, line: (line ?? 0), message: stringContent, color: color)
}
private func commonHandleLog(file: String?, function: String?, line: Int, message: String, color: UIColor?) {
guard enable else {
return
}
//1.
let fileInfo = parseFileInfo(file: file, function: function, line: line)
//2.
if let newLog = _OCLogModel.init(content: message, color: color, fileInfo: fileInfo, isTag: false, type: .none) {
_OCLogStoreManager.shared().addLog(newLog)
}
//3.
NotificationCenter.default.post(name: NSNotification.Name("refreshLogs_CocoaDebug"), object: nil, userInfo: nil)
}
}