 @objc
 class Logger {
 
-    private enum LogLevel {
+    private enum Level {
         case Info
         case Debug
         case Warning
         case Error
     }
     
-    private class func logLevelName(level: LogLevel) -> String {
+    struct Static {
+        static let dateFormatter = Logger.initFormatter()
+    }
+    
+    private class func initFormatter() -> NSDateFormatter {
+        let formatter = NSDateFormatter()
+        formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.sss"
+        return formatter
+    }
+    
+    private class func logLevelName(level: Level) -> String {
         switch(level) {
         case .Info:
             return "INFO"

        #endif
    }
   
    private class func log(level: LogLevel, message: String, file: String, function: String, line: Int) {
        println("\(logLevelName(level)): \(file.lastPathComponent): \(function)[\(line)]: \(message)")
    }
    
    class func logD(message: String, file: String = __FILE__, function: String = __FUNCTION__, line: Int = __LINE__) {
        log(.Debug, message: message, file: file, function: function, line: line);

        }
    }
    
    private class func releaseLogLevel() -> Level {
        return .Error;
    }
    
    private class func logLevelAllowed(level: Level) -> Bool {
        #if DEBUG
            return true
        #else
