     /// If set to `false`, the internal BMSCore debug logs will not be displayed on the console.
     public static var sdkDebugLoggingEnabled: Bool = true
     
+    // Used to persist all logs to the device's file system
+    // This can only be set by the BMSAnalytics framework
+    public static var logSaver: LogSaverProtocol?
+    
     
     
     // MARK: Properties (internal/private)
     
     // Each logger instance is distinguished only by its "name" property
     internal static var loggerInstances: [String: Logger] = [:]
-
+    
     
     
     // MARK: Initializers

}


// TODO: Documentation
/**
    Logger
 */
public class Logger {

    
    // MARK: Properties (API)
    

    // MARK: Log methods (API)
    
    /**
    Log at the Debug LogLevel.
    
    - parameter message: The message to log
    
    - Note: Do not supply values for the `file`, `function`, or `line` parameters. These parameters take default values to automatically record the file, function, and line in which this method was called.
    */
    public func debug(message: String, file: String = __FILE__, function: String = __FUNCTION__, line: Int = __LINE__) {
        
        logMessage(message, level: LogLevel.Debug, calledFile: file, calledFunction: function, calledLineNumber: line)
