使用範例


首先,為了配合示範多個日誌記錄器的使用方法,修改log4j.xml設定內容如下:

  <?xml version="1.0" encoding="UTF-8"?>
  <Configuration>
      <Appenders>
          <RollingFile name="default" fileName="${sys:LOG_OUT_DIR}/default.log"
                       filePattern="${sys:LOG_OUT_DIR}/$${date:yyyy-MM}/default-%d{MM-dd-yyyy}-%i.log.gz">
              <PatternLayout pattern="%m %n" charset="UTF-8"/>
              <SizeBasedTriggeringPolicy size="500 MB"/>
          </RollingFile>

          <RollingFile name="wechat" fileName="${sys:LOG_OUT_DIR}/wechat.log"
                       filePattern="${sys:LOG_OUT_DIR}/$${date:yyyy-MM}/wechat-%d{MM-dd-yyyy}-%i.log.gz">
              <PatternLayout pattern="%m %n" charset="UTF-8"/>
              <SizeBasedTriggeringPolicy size="500 MB"/>
          </RollingFile>

      </Appenders>
      <Loggers>

          <Logger name="wechat" level="debug">
              <AppenderRef ref="wechat"/>
          </Logger>

          <!-- 配置记录器级别 -->
          <Root level="debug">
              <!-- 输出设置 -->
              <AppenderRef ref="default"/>
          </Root>
      </Loggers>
  </Configuration>

上面的設定檔中共配置兩個日誌記錄器:

    ##default:預設根日誌記錄器,它將記錄所有日誌內容;
  • wechat:自訂的日誌記錄器;
範例程式碼:

  • 使用預設日誌記錄器輸出:

    Logs.get().getLogger().debug("日志将被输出到default.log文件...");
    Logs.get().getLogger().debug("日志内容", e);

    :預設日誌記錄器是由logger_name參數指定的,預設值為default;

  • ##輸出日誌到wechat.log檔案:
  • ILogger _wechat = Logs.get().getLogger("wechat");
    _wechat.debug("日志将被分别输出到wechat.log和default.log文件中");
    //
    if (_wechat.isDebugEnabled()) {
        _wechat.debug("日志内容", e);
    }
    
    // 或者
    Logs.get().getLogger("wechat").info("日志内容");
  • #