在项目中日志是必不可少的,日志可以去帮助我们快速的定位到问题,帮助我们记录问题,可以让我们快速的解决问题
楼主是刚刚初入IT行业,认真的去学习log4j日志配置,所以对日志的见解也不是很多,请谅解
使用maven引入log4j的依赖jar:
<!-- 日志文件管理包 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- 格式化对象,方便输出日志 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.41</version>
</dependency>
<!-- slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
创建log4j.properties文件,这个文件在ssm项目中不需要引入,因为log4j中默认会去找这个名字相同的日志文件
详解可参考:https://blog.csdn.net/yangfengjueqi/article/details/77095235
配置在控制台中:
#配置log4j根语法
log4j.rootLogger=INFO,Stdout,File,logDB
#Threshold=INFO最低输出的级别 , Target 打印到控制台
log4j.Appender.Stdout=org.apache.log4j.ConsoleAppender
log4j.Appender.Stdout.Threshold=INFO
log4j.Appender.Stdout.Target=system.out
#配置日志信息的格式(布局),其语法为:layout
#org.apache.log4j.PatternLayout 可以灵活的布局: ConversionPatterns属性:
log4j.Appender.Stdout.layout=org.apache.log4j.PatternLayout
log4j.Appender.Stdout.layout.ConversionPattern =%d [%-5p]%l %m%n
配置在文件中:
log4j.Appender.File=org.apache.log4j.FileAppender
log4j.Appender.File.Threshold=INFO
log4j.Appender.File.File=mybatis/login.log
log4j.Appender.File.Encoding=UTF-8
log4j.Appender.File.layout=org.apache.log4j.PatternLayout
log4j.Appender.File.layout.ConversionPattern=%d [%-5p]%l %m%n
配置在数据库中:
log4j.Appender.logDB=org.apache.log4j.jdbc.JDBCAppender
log4j.Appender.logDB.layout=org.apache.log4j.PatternLayout
log4j.Appender.logDB.Driver=com.mysql.jdbc.Driver
log4j.Appender.logDB.URL=jdbc:mysql://127.0.0.1:3306/test
log4j.Appender.logDB.User =root
log4j.Appender.logDB.Password=root
log4j.appender.logDB.Sql = INSERT INTOT test(name,create_date,level,category,file_name,thread_name,line,all_category,message)values('Struts2','%d{yyyy-MM-ddHH:mm:ss}','%p','%c','%F','%t','%L','%l','%m')
更详细的日志配置的语法详解http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html