參考:
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); }