diff --git a/Sources/NextcloudKit/Log/NKLog.swift b/Sources/NextcloudKit/Log/NKLog.swift index a769a5a8..7b2dc187 100644 --- a/Sources/NextcloudKit/Log/NKLog.swift +++ b/Sources/NextcloudKit/Log/NKLog.swift @@ -47,6 +47,11 @@ public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact, NKLogFileManager.shared.writeLog(stop: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } +@inlinable +public func nkLog(end message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(end: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) +} + /// Logs a custom tagged message. /// - Parameters: /// - tag: A custom uppercase tag, e.g. \"PUSH\", \"SYNC\", \"AUTH\". diff --git a/Sources/NextcloudKit/Log/NKLogFileManager.swift b/Sources/NextcloudKit/Log/NKLogFileManager.swift index 27d147d4..d164bf2e 100644 --- a/Sources/NextcloudKit/Log/NKLogFileManager.swift +++ b/Sources/NextcloudKit/Log/NKLogFileManager.swift @@ -48,6 +48,7 @@ public enum NKLogTagEmoji: String { case network = "[NETWORK]" case start = "[START]" case stop = "[STOP]" + case end = "[END]" } /// A logger that writes log messages to a file in a subdirectory of the user's Documents folder, @@ -182,6 +183,10 @@ public final class NKLogFileManager: @unchecked Sendable { writeLog("[STOP] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } + public func writeLog(end message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[END] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) + } + /// Writes a tagged log message with a specific log level. /// - Parameters: /// - tag: A custom tag to classify the log message (e.g. "SYNC", "AUTH"). @@ -260,6 +265,8 @@ public final class NKLogFileManager: @unchecked Sendable { return "🚀 " } else if message.contains("[STOP]") { return "âšī¸ " + } else if message.contains("[END]") { + return "🔚 " } else { return "" }