java.lang.Object
com.inductiveautomation.ignition.common.util.LogUtil

public class LogUtil extends Object
  • Constructor Details

    • LogUtil

      public LogUtil()
  • Method Details

    • getMap

      protected static com.google.common.cache.Cache<String,Object> getMap()
    • getSystemEventMarker

      public static org.slf4j.Marker getSystemEventMarker(String systemId)
    • getSystemLogger

      public static LoggerEx getSystemLogger(String loggerName)
      Creates a LoggerEx with an "ignition" prefix.
      Parameters:
      loggerName - The name of the logger, with "." separating the hierarchy levels
    • getSystemLogger

      public static LoggerEx getSystemLogger(String loggerName, Object identObject)
      Creates a LoggerEx with an "ignition" prefix and an ident object which will get prepended to each message.
    • getModuleLogger

      public static LoggerEx getModuleLogger(String moduleKey, String loggerName)
      Creates a LoggerEx at the given logger path, first pre-pending the module name. The module name is expected to be a bundle key to look up the name of the module. If no value is found, the key itself will be used.
      Parameters:
      loggerName - The name of the logger, with "." separating the hierarchy levels
    • getModuleLogger

      public static LoggerEx getModuleLogger(@NonNull String moduleKey, String loggerName, Object identObject)
      Creates a LoggerEx at the given logger path, first pre-pending the module name. The module name is expected to be a bundle key to look up the name of the module. If no value is found, the key itself will be used. Also allows an ident object, which will get pre-pended to each message.
    • getModuleLoggerName

      public static String getModuleLoggerName(@NonNull String moduleKey, String loggerName)
    • getLogger

      public static LoggerEx getLogger(String loggerName)
      Creates a LoggerEx at the given logger path. For modules, the first name should be your module name.
      Parameters:
      loggerName - The name of the logger, with "." separating the hierarchy levels
    • getLogger

      public static LoggerEx getLogger(String loggerName, Object identObject)
      Creates a LoggerEx at the given logger path. For modules, the first name should be your module name. Also allows an ident object, which will get pre-pended to each message.
    • logOncePerMinute

      @Deprecated public static void logOncePerMinute(org.apache.log4j.Logger log, org.apache.log4j.Level level, String message)
      Deprecated.
      Like the other overload, but doesn't log again within the time frame.
    • logOncePerMinute

      @Deprecated public static void logOncePerMinute(org.apache.log4j.Logger log, org.apache.log4j.Level level, org.apache.log4j.Level secondaryLevel, String message)
      Deprecated.
      Logs once with the priority, and then with the secondary priority for any further occurrences within 1 minute. If secondary priority is null, does not log again.
    • logOncePerMinute

      public static void logOncePerMinute(LoggerEx log, org.apache.log4j.Level level, String message)
      Like the other overload, with secondary level null
    • logOncePerMinute

      public static void logOncePerMinute(@NonNull LoggerEx log, @Nullable org.apache.log4j.Level level, @Nullable org.apache.log4j.Level secondaryLevel, String message)
      Logs once with the priority, and then with the secondary priority for any further occurrences within 1 minute. If secondary priority is null, does not log again.
    • logOncePer

      public static void logOncePer(@NonNull LoggerEx log, @Nullable org.apache.log4j.Level level, @Nullable org.apache.log4j.Level secondaryLevel, String message, Double time, TimeUnits timeUnits)
    • logOncePer

      public static void logOncePer(@NonNull LoggerEx log, @Nullable org.apache.log4j.Level level, @Nullable org.apache.log4j.Level secondaryLevel, String cacheKey, String message, Double time, TimeUnits timeUnits)
      Like logOncePer(LoggerEx, Level, Level, String, Double, TimeUnits), but uses the provided cacheKey for throttling instead of deriving one from the log message. This is useful when the message contains variable data (e.g., event IDs) that would defeat throttling, but you still want to limit how often the message is logged for a given logical category.
    • logOncePerMinute

      public static void logOncePerMinute(LoggerEx log, org.apache.log4j.Level level, String message, Throwable t)
    • logOncePerMinute

      public static void logOncePerMinute(@NonNull LoggerEx log, @Nullable org.apache.log4j.Level level, @Nullable org.apache.log4j.Level secondaryLevel, String message, Throwable t)
      Same as logOncePerMinute(LoggerEx, Level, Level, String) with the addition of logging a Throwable
    • logOnce

      public static void logOnce(LoggerEx log, org.apache.log4j.Level level, String message)
    • logOnce

      public static void logOnce(LoggerEx log, org.apache.log4j.Level level, String message, Throwable t)
    • startMaintenance

      protected static void startMaintenance()