如何在Maven構建的Java項目中使用log4j


參考:

https://www.jianshu.com/p/ccafda45bcea

說明:

本文僅僅作為項目開發過程中的記錄,不提供詳細的說明。按照步驟直接復制粘貼即可成功使用。

第一步:添加依賴

      <!-- https://mvnrepository.com/artifact/log4j/log4j -->
      <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.17</version>
      </dependency>

第二步:添加配置文件

文件位置說明:直接放在resources目錄下。

#### set log levels ###
log4j.rootLogger = info, stdout , D
#
####  output to the console ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{HH:mm:ss}-[%p] [%c] - %m%n
#
#### Output to the log file ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ${springmvc.root}/WEB-INF/logs/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}-[%p] [%l] - %m%n
#
#### Output to the log file ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File = ${springmvc.root}/WEB-INF/logs/info.log
log4j.appender.I.Append = true
log4j.appender.I.Threshold = INFO
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}-[%p] [%l] - %m%n
#
#### Save exception information to separate file ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = ${springmvc.root}/WEB-INF/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}-[%p] [%l] - %m%n

參數簡單說明:

log4j.rootLogger = info, stdout , D

1、第一個參數是日志記錄的最低級別,可以是info,debug,warn,error。后面的參數是appender的名字,表示采用下面的哪一個配置,將日志輸出到相應的位置。

2、例如D表示,采用 log4j.appender.D的配置信息,按照他的要求,將日志輸出到指定位置,D是appender的名字,是可以自己取的。

3、具體參數的含義可以看上面的參考鏈接,那位兄弟列舉的比較全面。

4、${springmvc.root}需要特殊說明一下,該參數在web.xml下配置了一下:

  <context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>springmvc.root</param-value>
  </context-param>

其中springmvc.root是可以隨意取名的,${springmvc.root}表示項目的根路徑(webapp)。

5、日志輸出格式做了簡單的配置,盡量保證控制台輸出比較簡單,向文件輸出的時候詳細一點,方便排查問題。

第三步:在項目中使用

可以看下下面的代碼,其他用法可以根據具體的需求去學習:

public class ArchiveTest extends BaseTest{

    private static Logger logger = Logger.getLogger(ArchiveTest.class);
@Autowired SecLevelService secLevelService;
//保管期限 @Test public void getStoPeriod(){ List<StoPeriodDao> periodList = stoPeriodService.getPeriodList(); System.out.println(periodList); } @Test public void getSecLevelList(){ List<SecLevelDao> secLevelDaoList = secLevelService.getSecLevelList(); logger.info(secLevelDaoList); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM