Skip to content

Commit c0e1166

Browse files
Merge pull request #179 from nextcloud/consoleOnly-LOG
Console only log
2 parents 7d8bd66 + 79a4e89 commit c0e1166

2 files changed

Lines changed: 47 additions & 37 deletions

File tree

Sources/NextcloudKit/Log/NKLog.swift

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,51 +8,53 @@ import Foundation
88
// These functions internally use `NKLogFileManager.shared`.
99

1010
@inlinable
11-
public func nkLog(debug message: String, minimumLogLevel: NKLogLevel = .compact) {
12-
NKLogFileManager.shared.writeLog(debug: message, minimumLogLevel: minimumLogLevel)
11+
public func nkLog(debug message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
12+
NKLogFileManager.shared.writeLog(debug: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
1313
}
1414

1515
@inlinable
16-
public func nkLog(info message: String, minimumLogLevel: NKLogLevel = .compact) {
17-
NKLogFileManager.shared.writeLog(info: message, minimumLogLevel: minimumLogLevel)
16+
public func nkLog(info message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
17+
NKLogFileManager.shared.writeLog(info: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
1818
}
1919

2020
@inlinable
21-
public func nkLog(warning message: String, minimumLogLevel: NKLogLevel = .compact) {
22-
NKLogFileManager.shared.writeLog(warning: message, minimumLogLevel: minimumLogLevel)
21+
public func nkLog(warning message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
22+
NKLogFileManager.shared.writeLog(warning: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
2323
}
2424

2525
@inlinable
26-
public func nkLog(error message: String, minimumLogLevel: NKLogLevel = .compact) {
27-
NKLogFileManager.shared.writeLog(error: message, minimumLogLevel: minimumLogLevel)
26+
public func nkLog(error message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
27+
NKLogFileManager.shared.writeLog(error: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
2828
}
2929

3030
@inlinable
31-
public func nkLog(success message: String, minimumLogLevel: NKLogLevel = .compact) {
32-
NKLogFileManager.shared.writeLog(success: message, minimumLogLevel: minimumLogLevel)
31+
public func nkLog(success message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
32+
NKLogFileManager.shared.writeLog(success: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
3333
}
3434

3535
@inlinable
36-
public func nkLog(network message: String, minimumLogLevel: NKLogLevel = .compact) {
37-
NKLogFileManager.shared.writeLog(network: message, minimumLogLevel: minimumLogLevel)
36+
public func nkLog(network message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
37+
NKLogFileManager.shared.writeLog(network: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
3838
}
3939

4040
@inlinable
41-
public func nkLog(start message: String, minimumLogLevel: NKLogLevel = .compact) {
42-
NKLogFileManager.shared.writeLog(start: message, minimumLogLevel: minimumLogLevel)
41+
public func nkLog(start message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
42+
NKLogFileManager.shared.writeLog(start: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
4343
}
4444

4545
@inlinable
46-
public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) {
47-
NKLogFileManager.shared.writeLog(stop: message, minimumLogLevel: minimumLogLevel)
46+
public func nkLog(stop message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
47+
NKLogFileManager.shared.writeLog(stop: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
4848
}
4949

5050
/// Logs a custom tagged message.
5151
/// - Parameters:
5252
/// - tag: A custom uppercase tag, e.g. \"PUSH\", \"SYNC\", \"AUTH\".
5353
/// - emoji: the type tag .info, .debug, .warning, .error, .success ..
5454
/// - message: The message to log.
55+
/// - minimumLogLevel: set the minimun level for write the message
56+
/// - consoleOnly: if true write the messa only in console
5557
@inlinable
56-
public func nkLog(tag: String, emoji: NKLogTagEmoji = .debug, message: String, minimumLogLevel: NKLogLevel = .compact) {
57-
NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message, minimumLogLevel: minimumLogLevel)
58+
public func nkLog(tag: String, emoji: NKLogTagEmoji = .debug, message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
59+
NKLogFileManager.shared.writeLog(tag: tag, emoji: emoji, message: message, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
5860
}

Sources/NextcloudKit/Log/NKLogFileManager.swift

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -150,48 +150,50 @@ public final class NKLogFileManager: @unchecked Sendable {
150150

151151
// MARK: - Public API
152152

153-
public func writeLog(debug message: String, minimumLogLevel: NKLogLevel = .compact) {
154-
writeLog("[DEBUG] \(message)", minimumLogLevel: minimumLogLevel)
153+
public func writeLog(debug message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
154+
writeLog("[DEBUG] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
155155
}
156156

157-
public func writeLog(info message: String, minimumLogLevel: NKLogLevel = .compact) {
158-
writeLog("[INFO] \(message)", minimumLogLevel: minimumLogLevel)
157+
public func writeLog(info message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
158+
writeLog("[INFO] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
159159
}
160160

161-
public func writeLog(warning message: String, minimumLogLevel: NKLogLevel = .compact) {
162-
writeLog("[WARNING] \(message)", minimumLogLevel: minimumLogLevel)
161+
public func writeLog(warning message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
162+
writeLog("[WARNING] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
163163
}
164164

165-
public func writeLog(error message: String, minimumLogLevel: NKLogLevel = .compact) {
166-
writeLog("[ERROR] \(message)", minimumLogLevel: minimumLogLevel)
165+
public func writeLog(error message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
166+
writeLog("[ERROR] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
167167
}
168168

169-
public func writeLog(success message: String, minimumLogLevel: NKLogLevel = .compact) {
170-
writeLog("[SUCCESS] \(message)", minimumLogLevel: minimumLogLevel)
169+
public func writeLog(success message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
170+
writeLog("[SUCCESS] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
171171
}
172172

173-
public func writeLog(network message: String, minimumLogLevel: NKLogLevel = .compact) {
174-
writeLog("[NETWORK] \(message)", minimumLogLevel: minimumLogLevel)
173+
public func writeLog(network message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
174+
writeLog("[NETWORK] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
175175
}
176176

177-
public func writeLog(start message: String, minimumLogLevel: NKLogLevel = .compact) {
178-
writeLog("[START] \(message)", minimumLogLevel: minimumLogLevel)
177+
public func writeLog(start message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
178+
writeLog("[START] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
179179
}
180180

181-
public func writeLog(stop message: String, minimumLogLevel: NKLogLevel = .compact) {
182-
writeLog("[STOP] \(message)", minimumLogLevel: minimumLogLevel)
181+
public func writeLog(stop message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
182+
writeLog("[STOP] \(message)", minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
183183
}
184184

185185
/// Writes a tagged log message with a specific log level.
186186
/// - Parameters:
187187
/// - tag: A custom tag to classify the log message (e.g. "SYNC", "AUTH").
188188
/// - emoji: .info, .debug, .warning, .error, .success ..
189189
/// - message: The log message content.
190-
public func writeLog(tag: String, emoji: NKLogTagEmoji, message: String, minimumLogLevel: NKLogLevel = .compact) {
190+
/// - minimumLogLevel: set the minimun level for write the message
191+
/// - consoleOnly: if true write the messa only in console
192+
public func writeLog(tag: String, emoji: NKLogTagEmoji, message: String, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
191193
guard !tag.isEmpty else { return }
192194

193195
let taggedMessage = "[\(tag.uppercased())] \(message)"
194-
writeLog(taggedMessage, emoji: emoji, minimumLogLevel: minimumLogLevel)
196+
writeLog(taggedMessage, emoji: emoji, minimumLogLevel: minimumLogLevel, consoleOnly: consoleOnly)
195197
}
196198

197199
/// Writes a log message with an optional typeTag to determine console emoji.
@@ -201,7 +203,9 @@ public final class NKLogFileManager: @unchecked Sendable {
201203
/// - Parameters:
202204
/// - message: The log message to record.
203205
/// - emoji: Optional type to determine console emoji (e.g. [INFO], [ERROR]).
204-
public func writeLog(_ message: String?, emoji: NKLogTagEmoji? = nil, minimumLogLevel: NKLogLevel = .compact) {
206+
/// - minimumLogLevel: set the minimun level for write the message
207+
/// - consoleOnly: if true write the messa only in console
208+
public func writeLog(_ message: String?, emoji: NKLogTagEmoji? = nil, minimumLogLevel: NKLogLevel = .compact, consoleOnly: Bool = false) {
205209
guard logLevel != .disabled,
206210
let message = message else {
207211
return
@@ -226,6 +230,10 @@ public final class NKLogFileManager: @unchecked Sendable {
226230
let consoleLine = "[NKLOG] [\(consoleTimestamp)] \(emoji)\(visualMessage)"
227231
print(consoleLine)
228232

233+
if consoleOnly {
234+
return
235+
}
236+
229237
rotationQueue.sync {
230238
self.checkForRotation()
231239
}

0 commit comments

Comments
 (0)