mirror of
https://github.com/CocoaLumberjack/CocoaLumberjack.git
synced 2026-05-07 20:12:46 +00:00
52 lines
1.8 KiB
Swift
52 lines
1.8 KiB
Swift
// Software License Agreement (BSD License)
|
|
//
|
|
// Copyright (c) 2010-2025, Deusty, LLC
|
|
// All rights reserved.
|
|
//
|
|
// Redistribution and use of this software in source and binary forms,
|
|
// with or without modification, are permitted provided that the following conditions are met:
|
|
//
|
|
// * Redistributions of source code must retain the above copyright notice,
|
|
// this list of conditions and the following disclaimer.
|
|
//
|
|
// * Neither the name of Deusty nor the names of its contributors may be used
|
|
// to endorse or promote products derived from this software without specific
|
|
// prior written permission of Deusty, LLC.
|
|
|
|
import Foundation
|
|
import CocoaLumberjackSwift
|
|
|
|
final class Formatter: DDDispatchQueueLogFormatter {
|
|
let threadUnsafeDateFormatter: DateFormatter
|
|
|
|
override init() {
|
|
threadUnsafeDateFormatter = DateFormatter()
|
|
threadUnsafeDateFormatter.formatterBehavior = .behavior10_4
|
|
threadUnsafeDateFormatter.dateFormat = "HH:mm:ss.SSS"
|
|
|
|
super.init()
|
|
}
|
|
|
|
override func format(message logMessage: DDLogMessage) -> String {
|
|
let dateAndTime = threadUnsafeDateFormatter.string(from: logMessage.timestamp)
|
|
|
|
let logLevel: String
|
|
let logFlag = logMessage.flag
|
|
if logFlag.contains(.error) {
|
|
logLevel = "E"
|
|
} else if logFlag.contains(.warning) {
|
|
logLevel = "W"
|
|
} else if logFlag.contains(.info) {
|
|
logLevel = "I"
|
|
} else if logFlag.contains(.debug) {
|
|
logLevel = "D"
|
|
} else if logFlag.contains(.verbose) {
|
|
logLevel = "V"
|
|
} else {
|
|
logLevel = "?"
|
|
}
|
|
|
|
return "\(dateAndTime) |\(logLevel)| [\(logMessage.fileName) \(logMessage.function ?? "nil")] #\(logMessage.line): \(logMessage.message)"
|
|
}
|
|
}
|