Created
June 14, 2016 07:22
-
-
Save RyogaK/a3bc168cd13593642c92ec9fd01ccee5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// LogFormatter.swift | |
// | |
// Created by Ryoga Kitagawa on 3/25/16. | |
// Copyright © 2016 Givery. All rights reserved. | |
// | |
import Foundation | |
import CocoaLumberjackSwift | |
import CocoaLumberjack.DDDispatchQueueLogFormatter | |
class LogFormatter: DDDispatchQueueLogFormatter { | |
let dateFormatter: NSDateFormatter | |
static func applyFormatter() { | |
#if CONFIGURATION_AppStore | |
defaultDebugLevel = DDLogLevel.Warning | |
#else | |
defaultDebugLevel = DDLogLevel.Verbose | |
#endif | |
DDTTYLogger.sharedInstance().logFormatter = LogFormatter() | |
DDLog.addLogger(DDTTYLogger.sharedInstance()) | |
} | |
override init!() { | |
self.dateFormatter = NSDateFormatter() | |
self.dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss:SSS" | |
super.init() | |
} | |
override func formatLogMessage(logMessage: DDLogMessage!) -> String! { | |
var logLevel: String | |
switch logMessage.flag { | |
case DDLogFlag.Error: | |
logLevel = "E" | |
case DDLogFlag.Warning: | |
logLevel = "W" | |
case DDLogFlag.Info: | |
logLevel = "I" | |
case DDLogFlag.Debug: | |
logLevel = "D" | |
case DDLogFlag.Verbose: | |
logLevel = "V" | |
default: | |
logLevel = "U" // Unknown | |
} | |
let dateAndTime = self.dateFormatter.stringFromDate(logMessage.timestamp) | |
let queueLabel = self.queueThreadLabelForLogMessage(logMessage) | |
let fileName = (logMessage.file as NSString).lastPathComponent | |
let lineNumber = logMessage.line | |
let function = logMessage.function | |
let message = logMessage.message | |
return "\(dateAndTime) [\(logLevel)] [\(queueLabel)] [\(fileName):\(lineNumber) \(function)] \n\(message) " | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment