Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit ac5f5cf

Browse files
committedApr 7, 2020
improve log performance
1 parent 96a2470 commit ac5f5cf

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed
 

‎ClashX/Basic/Logger.swift

+2-6
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ class Logger {
1313
var fileLogger: DDFileLogger = DDFileLogger()
1414

1515
private init() {
16-
if let tty = DDTTYLogger.sharedInstance {
17-
DDLog.add(tty) // TTY = Xcode console
18-
}
16+
DDLog.add(DDOSLogger.sharedInstance)
1917
fileLogger.rollingFrequency = TimeInterval(60 * 60 * 24) // 24 hours
2018
fileLogger.logFileManager.maximumNumberOfLogFiles = 3
2119
DDLog.add(fileLogger)
@@ -37,9 +35,7 @@ class Logger {
3735
}
3836

3937
static func log(_ msg: String, level: ClashLogLevel = .info) {
40-
DispatchQueue.global().async {
41-
shared.logToFile(msg: "[\(level.rawValue)] \(msg)", level: level)
42-
}
38+
shared.logToFile(msg: "[\(level.rawValue)] \(msg)", level: level)
4339
}
4440

4541
func logFilePath() -> String {

‎ClashX/General/ApiRequest.swift

+3-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ class ApiRequest {
2323

2424
private var proxyRespCache: ClashProxyResp?
2525

26+
private lazy var logQueue = DispatchQueue(label: "com.ClashX.core.log")
27+
2628
private init() {
2729
let configuration = URLSessionConfiguration.default
2830
configuration.timeoutIntervalForRequest = 604800
@@ -293,11 +295,11 @@ extension ApiRequest {
293295

294296
let uriString = "/logs?level=".appending(ConfigManager.selectLoggingApiLevel.rawValue)
295297
let socket = WebSocket(url: URL(string: ConfigManager.apiUrl.appending(uriString))!)
296-
297298
for header in ApiRequest.authHeader() {
298299
socket.request.setValue(header.value, forHTTPHeaderField: header.name)
299300
}
300301
socket.delegate = self
302+
socket.callbackQueue = logQueue
301303
socket.connect()
302304
loggingWebSocket = socket
303305
}

0 commit comments

Comments
 (0)
Failed to load comments.