Class LoggerChannelImpl

java.lang.Object
com.biglybt.pifimpl.local.logging.LoggerChannelImpl
All Implemented Interfaces:
LoggerChannel

public class LoggerChannelImpl extends Object implements LoggerChannel
  • Field Details

    • LOGID

      private static final LogIDs LOGID
    • logger

      private final Logger logger
    • name

      private final String name
    • timestamp

      private final boolean timestamp
    • no_output

      final boolean no_output
    • listeners

      final List listeners
    • diagnostic_logger

      private AEDiagnosticsLogger diagnostic_logger
  • Constructor Details

    • LoggerChannelImpl

      protected LoggerChannelImpl(Logger _logger, String _name, boolean _timestamp, boolean _no_output)
  • Method Details

    • getLogger

      public Logger getLogger()
      Description copied from interface: LoggerChannel
      Retrieve the parent Logger object for this LoggerChannel.
      Specified by:
      getLogger in interface LoggerChannel
      Returns:
      Logger object
    • getName

      public String getName()
      Description copied from interface: LoggerChannel
      Returns the name of the Logger Channel
      Specified by:
      getName in interface LoggerChannel
      Returns:
      Logger channel name
    • isEnabled

      public boolean isEnabled()
      Description copied from interface: LoggerChannel
      Indicates whether or not logging is enabled - use to optimise calls to the log methods that require resources to construct the message to be logged. Note that this doesn't apply to alerts - these will always be handled
      Specified by:
      isEnabled in interface LoggerChannel
      Returns:
      Enabled state of logging
    • setDiagnostic

      public void setDiagnostic()
      Description copied from interface: LoggerChannel
      This causes the channel to also write to logs/name files in a cyclic fashion (c.f. the debug_1/2._log files)
      Specified by:
      setDiagnostic in interface LoggerChannel
    • setForce

      public void setForce(boolean forceToFile)
      Description copied from interface: LoggerChannel
      logging to file is disabled by default in non-beta builds. This forces writing to file regardless
      Specified by:
      setForce in interface LoggerChannel
      Parameters:
      forceToFile -
    • getForce

      public boolean getForce()
      Specified by:
      getForce in interface LoggerChannel
      Returns:
    • getCurrentFile

      public File getCurrentFile(boolean flush)
      Description copied from interface: LoggerChannel
      retrieves the current file associated with the channel, null if none
      Specified by:
      getCurrentFile in interface LoggerChannel
      Returns:
    • setDiagnostic

      public void setDiagnostic(long max_file_size, boolean diag_timestamp)
      Specified by:
      setDiagnostic in interface LoggerChannel
    • LogTypePluginToCore

      private int LogTypePluginToCore(int pluginLogType)
    • notifyListeners

      private void notifyListeners(int log_type, String data)
    • notifyListeners

      private void notifyListeners(String listenersText, Throwable error)
    • log

      public void log(int log_type, String data)
      Description copied from interface: LoggerChannel
      Log a message of a specific type to this channel's logger
      Specified by:
      log in interface LoggerChannel
      Parameters:
      log_type - LT_* constant
      data - text to log
    • log

      public void log(String data)
      Description copied from interface: LoggerChannel
      log text with implicit type LoggerChannel.LT_INFORMATION
      Specified by:
      log in interface LoggerChannel
      Parameters:
      data - text to log
    • log

      public void log(Object[] relatedTo, int log_type, String data)
      Description copied from interface: LoggerChannel
      Log a string against a list of objects
      Specified by:
      log in interface LoggerChannel
      Parameters:
      relatedTo - a list of what this log is related to (ex. Peer, Torrent, Download, Object)
      log_type - LT_* constant
      data - text to log
    • log

      public void log(Object relatedTo, int log_type, String data)
      Description copied from interface: LoggerChannel
      Log an error against an object.
      Specified by:
      log in interface LoggerChannel
      Parameters:
      relatedTo - What this log is related to (ex. Peer, Torrent, Download, Object, etc)
      log_type - LT_* constant
      data - text to log
    • log

      public void log(Throwable error)
      Description copied from interface: LoggerChannel
      log an error with implicit type of LoggerChannel.LT_ERROR
      Specified by:
      log in interface LoggerChannel
      Parameters:
      error - Throwable object to log
    • log

      public void log(String str, Throwable error)
      Description copied from interface: LoggerChannel
      log an error with implicit type of LoggerChannel.LT_ERROR
      Specified by:
      log in interface LoggerChannel
      Parameters:
      str - text to log
      error - Throwable object to log
    • log

      public void log(Object[] relatedTo, String str, Throwable error)
      Description copied from interface: LoggerChannel
      Log an error against a list of objects
      Specified by:
      log in interface LoggerChannel
      Parameters:
      relatedTo - a list of what this log is related to (ex. Peer, Torrent, Download, Object)
      str - text to log
      error - Error that will be appended to the log entry
    • log

      public void log(Object relatedTo, String str, Throwable error)
      Description copied from interface: LoggerChannel
      Log an error against an object.
      Specified by:
      log in interface LoggerChannel
      Parameters:
      relatedTo - What this log is related to (ex. Peer, Torrent, Download, Object, etc)
      str - text to log
      error - Error that will be appended to the log entry
    • log

      public void log(Object[] relatedTo, String data)
      Description copied from interface: LoggerChannel
      Log an error against a list of objects with implicit type LoggerChannel.LT_INFORMATION
      Specified by:
      log in interface LoggerChannel
      Parameters:
      relatedTo - a list of what this log is related to (ex. Peer, Torrent, Download, Object)
      data - text to log
    • log

      public void log(Object relatedTo, String data)
      Description copied from interface: LoggerChannel
      Log an error against an object with implicit type LoggerChannel.LT_INFORMATION
      Specified by:
      log in interface LoggerChannel
      Parameters:
      relatedTo - What this log is related to (ex. Peer, Torrent, Download, Object, etc)
      data - text to log
    • logAlert

      protected void logAlert(int alert_type, String message, boolean repeatable)
    • logAlert

      public void logAlert(int alert_type, String message)
      Description copied from interface: LoggerChannel
      raise an alert to the user, if UI present Note that messages shown to the user are filtered on unique message content So if you raise an identical alert the second + subsequent messages will not be shown. Thus, if you want "identical" messages to be shown, prefix them with something unique like a timestamp.
      Specified by:
      logAlert in interface LoggerChannel
      Parameters:
      alert_type - LT_* constant
      message - text to alert user with
    • logAlertRepeatable

      public void logAlertRepeatable(int alert_type, String message)
      Description copied from interface: LoggerChannel
      Raise an alert to the user, if UI present. Subsequent, identical messages will always generate an alert (i.e. duplicates won't be filtered)
      Specified by:
      logAlertRepeatable in interface LoggerChannel
      Parameters:
      alert_type - LT_* constant
      message - text to alert user with
    • logAlert

      public void logAlert(String message, Throwable e)
      Description copied from interface: LoggerChannel
      Alert the user of an error
      Specified by:
      logAlert in interface LoggerChannel
      Parameters:
      message - text to alert user with
      e - Error that will be attached to the alert
    • logAlertRepeatable

      public void logAlertRepeatable(String message, Throwable e)
      Description copied from interface: LoggerChannel
      Raise an alert to the user, if UI present. Subsequent, identical messages will always generate an alert (i.e. duplicates won't be filtered)
      Specified by:
      logAlertRepeatable in interface LoggerChannel
      Parameters:
      message - text to alert user with
      e - Error that will be attached to the alert
    • addListener

      public void addListener(LoggerChannelListener l)
      Description copied from interface: LoggerChannel
      Add a LoggerChannelListener to this LoggerChannel
      Specified by:
      addListener in interface LoggerChannel
      Parameters:
      l - Listener to add
    • removeListener

      public void removeListener(LoggerChannelListener l)
      Description copied from interface: LoggerChannel
      Remove a reviously added LoggerChannelListener
      Specified by:
      removeListener in interface LoggerChannel
      Parameters:
      l - Listener to remove.
    • addTimeStamp

      protected String addTimeStamp(String data)
    • getTimeStamp

      protected String getTimeStamp()
    • format

      private static String format(int n)