@@ -26,21 +26,7 @@ enum AppLogSettings {
2626 }
2727}
2828
29- enum AppLogLevel : String , CaseIterable , Identifiable {
30- case trace
31- case debug
32- case info
33- case notice
34- case warning
35- case error
36- case critical
37-
38- static let `default` : AppLogLevel = . info
39-
40- var id : String {
41- self . rawValue
42- }
43-
29+ extension Logger . Level {
4430 var title : String {
4531 switch self {
4632 case . trace: " Trace "
@@ -140,29 +126,9 @@ struct OpenClawOSLogHandler: AppLogLevelBackedHandler {
140126 }
141127
142128 func log( event: LogEvent ) {
143- self . writeLog ( level: event. level, message: event. message, metadata: event. metadata)
144- }
145-
146- func log(
147- level: Logger . Level ,
148- message: Logger . Message ,
149- metadata: Logger . Metadata ? ,
150- source: String ,
151- file: String ,
152- function: String ,
153- line: UInt )
154- {
155- self . writeLog ( level: level, message: message, metadata: metadata)
156- }
157-
158- private func writeLog(
159- level: Logger . Level ,
160- message: Logger . Message ,
161- metadata: Logger . Metadata ? )
162- {
163- let merged = Self . mergeMetadata ( self . metadata, metadata)
164- let rendered = Self . renderMessage ( message, metadata: merged)
165- self . osLogger. log ( level: Self . osLogType ( for: level) , " \( rendered, privacy: . public) " )
129+ let merged = self . metadata. merging ( event. metadata ?? [ : ] , uniquingKeysWith: { _, new in new } )
130+ let rendered = Self . renderMessage ( event. message, metadata: merged)
131+ self . osLogger. log ( level: Self . osLogType ( for: event. level) , " \( rendered, privacy: . public) " )
166132 }
167133
168134 private static func osLogType( for level: Logger . Level ) -> OSLogType {
@@ -180,14 +146,6 @@ struct OpenClawOSLogHandler: AppLogLevelBackedHandler {
180146 }
181147 }
182148
183- private static func mergeMetadata(
184- _ base: Logger . Metadata ,
185- _ extra: Logger . Metadata ? ) -> Logger . Metadata
186- {
187- guard let extra else { return base }
188- return base. merging ( extra, uniquingKeysWith: { _, new in new } )
189- }
190-
191149 private static func renderMessage( _ message: Logger . Message , metadata: Logger . Metadata ) -> String {
192150 guard !metadata. isEmpty else { return message. description }
193151 let meta = metadata
@@ -203,59 +161,21 @@ struct OpenClawFileLogHandler: AppLogLevelBackedHandler {
203161 var metadata : Logger . Metadata = [ : ]
204162
205163 func log( event: LogEvent ) {
206- self . writeLog (
207- level: event. level,
208- message: event. message,
209- metadata: event. metadata,
210- source: event. source,
211- file: event. file,
212- function: event. function,
213- line: event. line)
214- }
215-
216- func log(
217- level: Logger . Level ,
218- message: Logger . Message ,
219- metadata: Logger . Metadata ? ,
220- source: String ,
221- file: String ,
222- function: String ,
223- line: UInt )
224- {
225- self . writeLog (
226- level: level,
227- message: message,
228- metadata: metadata,
229- source: source,
230- file: file,
231- function: function,
232- line: line)
233- }
234-
235- private func writeLog(
236- level: Logger . Level ,
237- message: Logger . Message ,
238- metadata: Logger . Metadata ? ,
239- source: String ,
240- file: String ,
241- function: String ,
242- line: UInt )
243- {
244164 guard AppLogSettings . fileLoggingEnabled ( ) else { return }
245165 let ( subsystem, category) = OpenClawLogging . parseLabel ( self . label)
246166 var fields : [ String : String ] = [
247167 " subsystem " : subsystem,
248168 " category " : category,
249- " level " : level. rawValue,
250- " source " : source,
251- " file " : file,
252- " function " : function,
253- " line " : " \( line) " ,
169+ " level " : event . level. rawValue,
170+ " source " : event . source,
171+ " file " : event . file,
172+ " function " : event . function,
173+ " line " : " \( event . line) " ,
254174 ]
255- let merged = self . metadata. merging ( metadata ?? [ : ] , uniquingKeysWith: { _, new in new } )
175+ let merged = self . metadata. merging ( event . metadata ?? [ : ] , uniquingKeysWith: { _, new in new } )
256176 for (key, value) in merged {
257177 fields [ " meta. \( key) " ] = stringifyLogMetadataValue ( value)
258178 }
259- DiagnosticsFileLog . shared. log ( category: category, event: message. description, fields: fields)
179+ DiagnosticsFileLog . shared. log ( category: category, event: event . message. description, fields: fields)
260180 }
261181}
0 commit comments