Class FileLogger

All Implemented Interfaces:

public final class FileLogger extends Object implements Logger
A logger for writing to a file in the application's storage so that log messages can persist durably after the application has stopped or encountered a problem. Each log level is written to a separate file.

Threading policy: This class is certain to be used from multiple threads. As long as it, itself, is thread safe, the various race conditions are unlikely and the penalties very small. "Volatile" ensures the thread safety and the several races are tolerable.

  • Method Details

    • log

      public void log(@NonNull LogLevel level, @NonNull LogDomain domain, @NonNull String message)
      Description copied from interface: Logger
      Performs the actual logging logic
      Specified by:
      log in interface Logger
      level - The level of the message to log
      domain - The domain of the message to log
      message - The content of the message to log
    • getLevel

      @NonNull public LogLevel getLevel()
      Description copied from interface: Logger
      Gets the level that will be logged via this logger.
      Specified by:
      getLevel in interface Logger
      The maximum level to log
    • setLevel

      public void setLevel(@NonNull LogLevel level)
      Sets the overall logging level that will be written to the logging files.
      level - The maximum level to include in the logs
    • getConfig

      @Nullable public LogFileConfiguration getConfig()
      Gets the configuration currently in use by the file logger. Note that once a configuration has been installed in a logger, it is read-only and can no longer be modified. An attempt to modify the configuration returned by this method will cause an exception.
      The configuration currently in use
    • setConfig

      public void setConfig(@Nullable LogFileConfiguration newConfig)
      Sets the configuration for use by the file logger.
      newConfig - The configuration to use