From 763143517edbe2d9747be98065330e3ccc52c74d Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Tue, 26 Aug 2025 10:48:07 +0200 Subject: [PATCH 1/3] added parameter consoleOnly --- Sources/NextcloudKit/Log/NKLog.swift | 36 ++++++++-------- .../NextcloudKit/Log/NKLogFileManager.swift | 42 ++++++++++--------- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/Sources/NextcloudKit/Log/NKLog.swift b/Sources/NextcloudKit/Log/NKLog.swift index ce8799a2..fe474f97 100644 --- a/Sources/NextcloudKit/Log/NKLog.swift +++ b/Sources/NextcloudKit/Log/NKLog.swift @@ -8,43 +8,43 @@ import Foundation // These functions internally use `NKLogFileManager.shared`. @inlinable -public func nkLog(debug message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(debug: message, minimumLogLevel: minimumLogLevel) +public func nkLog(debug message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(debug: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(info message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(info: message, minimumLogLevel: minimumLogLevel) +public func nkLog(info message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(info: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(warning message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(warning: message, minimumLogLevel: minimumLogLevel) +public func nkLog(warning message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(warning: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(error message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(error: message, minimumLogLevel: minimumLogLevel) +public func nkLog(error message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(error: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(success message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(success: message, minimumLogLevel: minimumLogLevel) +public func nkLog(success message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(success: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(network message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(network: message, minimumLogLevel: minimumLogLevel) +public func nkLog(network message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(network: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(start message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(start: message, minimumLogLevel: minimumLogLevel) +public func nkLog(start message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(start: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } @inlinable -public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(stop: message, minimumLogLevel: minimumLogLevel) +public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(stop: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } /// Logs a custom tagged message. @@ -53,6 +53,6 @@ public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) /// - emoji: the type tag .info, .debug, .warning, .error, .success .. /// - message: The message to log. @inlinable -public func nkLog(tag: String, emoji: NKLogTagEmoji = .debug, message: String, minimumLogLevel: NKLogLevel = .compact) { - NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message, minimumLogLevel: minimumLogLevel) +public func nkLog(tag: String, emoji: NKLogTagEmoji = .debug, message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } diff --git a/Sources/NextcloudKit/Log/NKLogFileManager.swift b/Sources/NextcloudKit/Log/NKLogFileManager.swift index e409fee9..f12b912b 100644 --- a/Sources/NextcloudKit/Log/NKLogFileManager.swift +++ b/Sources/NextcloudKit/Log/NKLogFileManager.swift @@ -150,36 +150,36 @@ public final class NKLogFileManager: @unchecked Sendable { // MARK: - Public API - public func writeLog(debug message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[DEBUG] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(debug message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[DEBUG] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(info message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[INFO] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(info message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[INFO] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(warning message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[WARNING] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(warning message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[WARNING] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(error message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[ERROR] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(error message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[ERROR] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(success message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[SUCCESS] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(success message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[SUCCESS] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(network message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[NETWORK] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(network message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[NETWORK] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(start message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[START] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(start message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[START] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } - public func writeLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) { - writeLog("[STOP] \(message)", minimumLogLevel: minimumLogLevel) + public func writeLog(stop message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { + writeLog("[STOP] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } /// Writes a tagged log message with a specific log level. @@ -187,11 +187,11 @@ public final class NKLogFileManager: @unchecked Sendable { /// - tag: A custom tag to classify the log message (e.g. "SYNC", "AUTH"). /// - emoji: .info, .debug, .warning, .error, .success .. /// - message: The log message content. - public func writeLog(tag: String, emoji: NKLogTagEmoji, message: String, minimumLogLevel: NKLogLevel = .compact) { + public func writeLog(tag: String, emoji: NKLogTagEmoji, message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { guard !tag.isEmpty else { return } let taggedMessage = "[\(tag.uppercased())] \(message)" - writeLog(taggedMessage, emoji: emoji, minimumLogLevel: minimumLogLevel) + writeLog(taggedMessage, emoji: emoji, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly) } /// Writes a log message with an optional typeTag to determine console emoji. @@ -201,7 +201,7 @@ public final class NKLogFileManager: @unchecked Sendable { /// - Parameters: /// - message: The log message to record. /// - emoji: Optional type to determine console emoji (e.g. [INFO], [ERROR]). - public func writeLog(_ message: String?, emoji: NKLogTagEmoji? = nil, minimumLogLevel: NKLogLevel = .compact) { + public func writeLog(_ message: String?, emoji: NKLogTagEmoji? = nil, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { guard logLevel != .disabled, let message = message else { return @@ -226,6 +226,10 @@ public final class NKLogFileManager: @unchecked Sendable { let consoleLine = "[NKLOG] [\(consoleTimestamp)] \(emoji)\(visualMessage)" print(consoleLine) + if consoleOnly { + return + } + rotationQueue.sync { self.checkForRotation() } From a117752ebfa438d5ef0f8d06f9f3cb7381bf4855 Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Tue, 26 Aug 2025 10:51:08 +0200 Subject: [PATCH 2/3] Update NKLogFileManager.swift --- Sources/NextcloudKit/Log/NKLogFileManager.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Sources/NextcloudKit/Log/NKLogFileManager.swift b/Sources/NextcloudKit/Log/NKLogFileManager.swift index f12b912b..27d147d4 100644 --- a/Sources/NextcloudKit/Log/NKLogFileManager.swift +++ b/Sources/NextcloudKit/Log/NKLogFileManager.swift @@ -187,6 +187,8 @@ public final class NKLogFileManager: @unchecked Sendable { /// - tag: A custom tag to classify the log message (e.g. "SYNC", "AUTH"). /// - emoji: .info, .debug, .warning, .error, .success .. /// - message: The log message content. + /// - minimumLogLevel: set the minimun level for write the message + /// - consoleOnly: if true write the messa only in console public func writeLog(tag: String, emoji: NKLogTagEmoji, message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { guard !tag.isEmpty else { return } @@ -201,6 +203,8 @@ public final class NKLogFileManager: @unchecked Sendable { /// - Parameters: /// - message: The log message to record. /// - emoji: Optional type to determine console emoji (e.g. [INFO], [ERROR]). + /// - minimumLogLevel: set the minimun level for write the message + /// - consoleOnly: if true write the messa only in console public func writeLog(_ message: String?, emoji: NKLogTagEmoji? = nil, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { guard logLevel != .disabled, let message = message else { From 79a4e8978a405c8dc4aa7ff6f162eeae4467dcec Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Tue, 26 Aug 2025 10:51:12 +0200 Subject: [PATCH 3/3] Update NKLog.swift --- Sources/NextcloudKit/Log/NKLog.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Sources/NextcloudKit/Log/NKLog.swift b/Sources/NextcloudKit/Log/NKLog.swift index fe474f97..a769a5a8 100644 --- a/Sources/NextcloudKit/Log/NKLog.swift +++ b/Sources/NextcloudKit/Log/NKLog.swift @@ -52,6 +52,8 @@ public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact, /// - tag: A custom uppercase tag, e.g. \"PUSH\", \"SYNC\", \"AUTH\". /// - emoji: the type tag .info, .debug, .warning, .error, .success .. /// - message: The message to log. +/// - minimumLogLevel: set the minimun level for write the message +/// - consoleOnly: if true write the messa only in console @inlinable public func nkLog(tag: String, emoji: NKLogTagEmoji = .debug, message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) { NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)