     }
 
     /**
-    Log an `Error` entry. Exclude all arguments except `message` and `userInfo`.
+    Log an `Error` entry.
 
-    :param: message The message to log.
-    :param: userInfo A dictionary of additional values for endpoints to consider.
+    - parameter message: The message to log.
+    - parameter userInfo: (optional) A dictionary of additional values for endpoints to consider.
     */
     public func error(
         @autoclosure(escaping) message: () -> String,

import Foundation


public final class LXLogger {
    /// The collection of log endpoints that successfully initialized.
    private let endpoints: [LXEndpoint]

    /**
    Initialize a logger.

    :param: endpoints An array of log endpoints to output entries to.

    :returns: An initialized logger populated with each of the provided endpoints. Any endpoints that fail initialization are discarded.
    */
    public init(endpoints: [LXEndpoint?]) {
        self.endpoints = endpoints.filter({ $0 != nil }).map({ $0! })
        assert(!self.endpoints.isEmpty, "A logger instance has been initialized, but no valid endpoints were provided.")
    }

    /// Initialize a basic logger that writes to the console (stdout) with default settings.
    public convenience init() {
        self.init(endpoints: [LXConsoleEndpoint()])
    }

    }

    /**
    Log a `Warning` entry.

    - parameter message: The message to log.
    - parameter userInfo: (optional) A dictionary of additional values for endpoints to consider.
    */
    public func warning(
        @autoclosure(escaping) message: () -> String,
