Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions Sources/NextcloudKit/Log/NKLog.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,43 +8,43 @@
// These functions internally use `NKLogFileManager.shared`.

@inlinable
public func nkLog(debug message: String) {
NKLogFileManager.shared.writeLog(debug: message)
public func nkLog(debug message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(debug: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(info message: String) {
NKLogFileManager.shared.writeLog(info: message)
public func nkLog(info message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(info: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(warning message: String) {
NKLogFileManager.shared.writeLog(warning: message)
public func nkLog(warning message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(warning: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(error message: String) {
NKLogFileManager.shared.writeLog(error: message)
public func nkLog(error message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(error: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(success message: String) {
NKLogFileManager.shared.writeLog(success: message)
public func nkLog(success message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(success: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(network message: String) {
NKLogFileManager.shared.writeLog(network: message)
public func nkLog(network message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(network: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(start message: String) {
NKLogFileManager.shared.writeLog(start: message)
public func nkLog(start message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(start: message, minimumLogLevel: minimumLogLevel)
}

@inlinable
public func nkLog(stop message: String) {
NKLogFileManager.shared.writeLog(stop: message)
public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(stop: message, minimumLogLevel: minimumLogLevel)
}

/// Logs a custom tagged message.
Expand All @@ -53,6 +53,6 @@
/// - 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) {
NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message)
public func nkLog(tag: String, emoji: NKLogTagEmoji = .debug, message: String, minimumLogLevel: NKLogLevel = .compact) {

Check warning on line 56 in Sources/NextcloudKit/Log/NKLog.swift

View workflow job for this annotation

GitHub Actions / Lint

Operator Usage Whitespace Violation: Operators should be surrounded by a single whitespace when they are being used (operator_usage_whitespace)
NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message, minimumLogLevel: minimumLogLevel)
}
46 changes: 26 additions & 20 deletions Sources/NextcloudKit/Log/NKLogFileManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -150,48 +150,48 @@ public final class NKLogFileManager: @unchecked Sendable {

// MARK: - Public API

public func writeLog(debug message: String) {
writeLog("[DEBUG] \(message)")
public func writeLog(debug message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[DEBUG] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(info message: String) {
writeLog("[INFO] \(message)")
public func writeLog(info message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[INFO] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(warning message: String) {
writeLog("[WARNING] \(message)")
public func writeLog(warning message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[WARNING] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(error message: String) {
writeLog("[ERROR] \(message)")
public func writeLog(error message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[ERROR] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(success message: String) {
writeLog("[SUCCESS] \(message)")
public func writeLog(success message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[SUCCESS] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(network message: String) {
writeLog("[NETWORK] \(message)")
public func writeLog(network message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[NETWORK] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(start message: String) {
writeLog("[START] \(message)")
public func writeLog(start message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[START] \(message)", minimumLogLevel: minimumLogLevel)
}

public func writeLog(stop message: String) {
writeLog("[STOP] \(message)")
public func writeLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) {
writeLog("[STOP] \(message)", minimumLogLevel: minimumLogLevel)
}

/// Writes a tagged log message with a specific log level.
/// - Parameters:
/// - 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) {
public func writeLog(tag: String, emoji: NKLogTagEmoji, message: String, minimumLogLevel: NKLogLevel = .compact) {
guard !tag.isEmpty else { return }

let taggedMessage = "[\(tag.uppercased())] \(message)"
writeLog(taggedMessage, emoji: emoji)
writeLog(taggedMessage, emoji: emoji, minimumLogLevel: minimumLogLevel)
}

/// Writes a log message with an optional typeTag to determine console emoji.
Expand All @@ -201,8 +201,14 @@ 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) {
guard logLevel != .disabled, let message = message else { return }
public func writeLog(_ message: String?, emoji: NKLogTagEmoji? = nil, minimumLogLevel: NKLogLevel = .compact) {
guard logLevel != .disabled,
let message = message else {
return
}
if minimumLogLevel > logLevel {
return
}

let fileTimestamp = Self.stableTimestampString()
let consoleTimestamp = Self.localizedTimestampString()
Expand Down
4 changes: 2 additions & 2 deletions Sources/NextcloudKit/NextcloudKit.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ open class NextcloudKit {
#endif
public var nkCommonInstance = NKCommon()

internal func log(debug message: String) {
NKLogFileManager.shared.writeLog(debug: message)
internal func log(debug message: String, minimumLogLevel: NKLogLevel = .compact) {
NKLogFileManager.shared.writeLog(debug: message, minimumLogLevel: minimumLogLevel)
}

internal lazy var unauthorizedSession: Alamofire.Session = {
Expand Down
Loading