     }
     
     /**
-        Log a *warning* message. Use this to log a message if something might go wrong in your program's execution
-    
-        - parameter message :A string for the log message
-    */
-    public class func warning(
-        message:String,
-        file:String = __FILE__,
-        function:String = __FUNCTION__,
-        line:UInt = __LINE__) {
-        if SwiftLogger.service.logLevel.rawValue >= SwiftLogger.LogLevel.Warning.rawValue {
-            let message = Message(message, level: "Warning", file: file, function: function, line: line)
-            SwiftLogger.service.logMessage(message)
-        }
-    }
-    
-    /**
-        Log an *error* message. Use this to log information about something that has gone wrong.
-    
-        - parameter message :A string for the log message
-    */
-    public class func error(
-        message:String,
-        file:String = __FILE__,
-        function:String = __FUNCTION__,
-        line:UInt = __LINE__) {
-        if SwiftLogger.service.logLevel.rawValue >= SwiftLogger.LogLevel.Error.rawValue {
-            let message = Message(message, level: "Error", file: file, function: function, line: line)
-            SwiftLogger.service.logMessage(message)
-        }
-    }
-    
-    /**
         Log a *verbose* message. Use this to provide fine grained message about the code path executed by your program.
     
         - parameter message :A string for the log message

    // MARK: String Logging
    
    /**
        Log an *info* message. Use this sparingly for general information to avoid clogging up your logs.
    
        - parameter message :A string for the log message

    // MARK: Collection Logging
    
    /**
        Log a collection at *error* level. Use this to log information about something that has gone wrong.
    
        - parameter collection :A `CollectionType` of `Loggable` objects
    */
    public class func error<T: CollectionType where T.Generator.Element: Loggable>(
        collection:T,
        file:String = __FILE__,
        function:String = __FUNCTION__,
        line:UInt = __LINE__) {
            if SwiftLogger.service.logLevel.rawValue >= SwiftLogger.LogLevel.Error.rawValue {
                let metadata = MessageMetadata(level: "Info", file: file, function: function, line: line)
                SwiftLogger.service.logCollection(collection, withMetadata: metadata)
            }
    }
    
    /**
        Log a collection at *warning* level. Use this to log a collection if something might go wrong in your program's execution
     
        - parameter collection :A `CollectionType` of `Loggable` objects
     */
    public class func warning<T: CollectionType where T.Generator.Element: Loggable>(
        collection:T,
        file:String = __FILE__,
        function:String = __FUNCTION__,
        line:UInt = __LINE__) {
            if SwiftLogger.service.logLevel.rawValue >= SwiftLogger.LogLevel.Warning.rawValue {
                let metadata = MessageMetadata(level: "Info", file: file, function: function, line: line)
                SwiftLogger.service.logCollection(collection, withMetadata: metadata)
            }
    }
    
    /**
        Log a collection at *info* level. Use this sparingly for general information to avoid clogging up your logs.
    
        - parameter collection :A `CollectionType` of `Loggable` objects
    */
    public class func info<T: CollectionType where T.Generator.Element: Loggable>(
        collection:T,
