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