Home / Class/ Log4JLogger Class — netty Architecture

Log4JLogger Class — netty Architecture

Architecture documentation for the Log4JLogger class in Log4JLogger.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  ea21873f_9411_9a50_115f_4afde36f3d05["Log4JLogger"]
  b6c39fea_36ae_7b7b_e493_8c07ea0d8a1c["Log4JLogger.java"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|defined in| b6c39fea_36ae_7b7b_e493_8c07ea0d8a1c
  3b79b38c_85ea_0ae1_4ae5_a3b77c7aac07["Log4JLogger()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 3b79b38c_85ea_0ae1_4ae5_a3b77c7aac07
  be209e3f_b671_9526_3bd3_8b00cf5e95e7["isTraceCapable()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| be209e3f_b671_9526_3bd3_8b00cf5e95e7
  381c5115_d56b_f5df_1f82_4c9cb088baa4["isTraceEnabled()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 381c5115_d56b_f5df_1f82_4c9cb088baa4
  54d6b5d3_808e_7a6f_83a1_f4995dffb4d8["trace()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 54d6b5d3_808e_7a6f_83a1_f4995dffb4d8
  fca4c536_bf52_8adb_fd06_0139f5783bc4["isDebugEnabled()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| fca4c536_bf52_8adb_fd06_0139f5783bc4
  380f9eca_7972_03a8_a2ca_ce37678ea6cb["debug()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 380f9eca_7972_03a8_a2ca_ce37678ea6cb
  9d4c0b19_1ca2_4a1f_abba_ba20a0b7fb17["isInfoEnabled()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 9d4c0b19_1ca2_4a1f_abba_ba20a0b7fb17
  666f585f_278d_6f6d_14f4_d4305ea2ee09["info()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 666f585f_278d_6f6d_14f4_d4305ea2ee09
  91c1eb80_86e7_fcaa_6175_cb4499a5f3ae["isWarnEnabled()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 91c1eb80_86e7_fcaa_6175_cb4499a5f3ae
  9a3f9605_01aa_2298_454f_894f68c74a2e["warn()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 9a3f9605_01aa_2298_454f_894f68c74a2e
  92d9756e_0cfd_33f7_eb84_ee2dbe94c5a2["isErrorEnabled()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 92d9756e_0cfd_33f7_eb84_ee2dbe94c5a2
  38c19b28_8a63_b1b0_254c_2fd7e66847ce["error()"]
  ea21873f_9411_9a50_115f_4afde36f3d05 -->|method| 38c19b28_8a63_b1b0_254c_2fd7e66847ce

Relationship Graph

Source Code

common/src/main/java/io/netty/util/internal/logging/Log4JLogger.java lines 49–597

class Log4JLogger extends AbstractInternalLogger {

    private static final long serialVersionUID = 2851357342488183058L;

    private final transient Logger logger;

    /**
     * Following the pattern discussed in pages 162 through 168 of "The complete
     * log4j manual".
     */
    static final String FQCN = Log4JLogger.class.getName();

    // Does the log4j version in use recognize the TRACE level?
    // The trace level was introduced in log4j 1.2.12.
    final boolean traceCapable;

    Log4JLogger(Logger logger) {
        super(logger.getName());
        this.logger = logger;
        traceCapable = isTraceCapable();
    }

    private boolean isTraceCapable() {
        try {
            logger.isTraceEnabled();
            return true;
        } catch (NoSuchMethodError ignored) {
            return false;
        }
    }

    /**
     * Is this logger instance enabled for the TRACE level?
     *
     * @return True if this Logger is enabled for level TRACE, false otherwise.
     */
    @Override
    public boolean isTraceEnabled() {
        if (traceCapable) {
            return logger.isTraceEnabled();
        } else {
            return logger.isDebugEnabled();
        }
    }

    /**
     * Log a message object at level TRACE.
     *
     * @param msg
     *          - the message object to be logged
     */
    @Override
    public void trace(String msg) {
        logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, msg, null);
    }

    /**
     * Log a message at level TRACE according to the specified format and
     * argument.
     *
     * <p>
     * This form avoids superfluous object creation when the logger is disabled
     * for level TRACE.
     * </p>
     *
     * @param format
     *          the format string
     * @param arg
     *          the argument
     */
    @Override
    public void trace(String format, Object arg) {
        if (isTraceEnabled()) {
            FormattingTuple ft = MessageFormatter.format(format, arg);
            logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft
                    .getMessage(), ft.getThrowable());
        }
    }

    /**
     * Log a message at level TRACE according to the specified format and

Frequently Asked Questions

What is the Log4JLogger class?
Log4JLogger is a class in the netty codebase, defined in common/src/main/java/io/netty/util/internal/logging/Log4JLogger.java.
Where is Log4JLogger defined?
Log4JLogger is defined in common/src/main/java/io/netty/util/internal/logging/Log4JLogger.java at line 49.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free