log4j配置:
pom.xml
1 <properties> 2 ... 3 <slf4j.version>1.7.21</slf4j.version> 4 <log4j.version>1.2.17</log4j.version> 5 ... 6 </properties> 7 8 <dependencies> 9 ... 10 <!-- 日志文件管理包 --> 11 <!-- log start --> 12 <dependency> 13 <groupId>log4j</groupId> 14 <artifactId>log4j</artifactId> 15 <version>${log4j.version}</version> 16 </dependency> 17 <dependency> 18 <groupId>org.slf4j</groupId> 19 <artifactId>slf4j-api</artifactId> 20 <version>${slf4j.version}</version> 21 </dependency> 22 23 <dependency> 24 <groupId>org.slf4j</groupId> 25 <artifactId>slf4j-log4j12</artifactId> 26 <version>${slf4j.version}</version> 27 </dependency> 28 ... 29 </dependencies>
log4j.properties
#定义LOG输出级别
log4j.rootLogger=INFO,Console,File
#定义日志输出目的地为控制台
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
#可以灵活地指定日志输出格式,下面一行是指定具体的格式
log4j.appender.Console.layout = org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n
#文件大小到达指定尺寸的时候产生一个新的文件
log4j.appender.File = org.apache.log4j.RollingFileAppender
#指定输出目录
log4j.appender.File.File = /home/matto/IdeaProjects/WorkSpaceGit/TestMaven/logs/ssm.log
#定义文件最大大小
log4j.appender.File.MaxFileSize = 10MB
# 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold = ALL
log4j.appender.File.layout = org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c]%m%n
#另一种,我常用 。。。
log4j.rootLogger=DEBUG, A1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=>>> %d %5p [%t] (%F:%L) - %m%n
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1=org.apache.log4j.ConsoleAppender
参数详解:
log4j配置解释1:
###把日志信息输出到控制台###
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{yyyy-MM-dd HH:mm:ss}%m%n
###把日志信息输出到文件:test.log###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=test.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%m%n
###设置优先级别、以及输出源###
log4j.rootLogger=debug,stdout,file
配置解释:
log4j充许日志请求被输出到多个输出源,一个输出源被称做一个appender。上面有两个appender,第一个命名为stdout,使用了ConsoleAppender,
通过配置Target属性,把日志信息写到控制台,其效果等同于直接把信息打印到System.out上了。第二个appender命名为file,使用了
FileAppender,通过配置File属性,把日志信息写到指定的文件(test.log)中。
layout指定了日志信息输出的样式。上面两种输出都使用了PatternLayout,可以灵活地指定布局模式。但是要配置layout.ConversionPattern属性,
其中:%d{yyyy-MM-dd HH:mm:ss}用来设置输出日志的时间,输出格式类似于2009-05-13 09:00:00 ;%m用来输出代码中指定的消息;%n用来输出一个回车符;
%l用来输出日志事件的发生位置,包括类名、发生的线程,以及在代码中的行数。例如:如果输出为Java.ch04.TestLog4j.min(TestLog4j.java:12),
说明日志事件发生在TestLog4j类中的main线程中,在代码中的行数为第12行。
日志信息具有输出优先级,优先级从高到低分别是FATA、error、warn、info、debug。上面最后一句设置优先级别为debug,并且设置日志被分别输出到控制台以及
test.log文件中。
-------------------------------------------------------------------------------------------------------------------------------------------------
log4j配置解释2:
#log4j.rootLogger=DEBUG,A1,R
### 设置优先级别(fata、error、warn、debug、info)、以及输出源(控制台、文件) ###
log4j.rootLogger=INFO,A1,R
### 把日志信息输出到控制台 ###
### A1,R输出源名称 ###
### ConsoleAppender:把日志信息写到控制台 ###
log4j.appender.A1=org.apache.log4j.ConsoleAppender
### 输出样式 布局模式###
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
### %c:包名.文件名。%p:输出级别,%m:输出代码中指定的消息,%n:输出一个回车换行符,%l:输出日志信息发生的位置,包括类名、发生的线程、行数 ,%t输出一个制表符###
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n
### RollingFileAppender:把日志信息循环滚动写到文件,FileAppender:把日志信息写到文件###
log4j.appender.R=org.apache.log4j.RollingFileAppender
### 设置日志信息文件名为bbscs7log.txt ###
log4j.appender.R.File=bbscs7log.txt
### 设置日志信息文件大小为500KB ###
log4j.appender.R.MaxFileSize=500KB
### 设置日志信息文件总数最多为10个 ###
log4j.appender.R.MaxBackupIndex=10
### 输出样式 布局模式###
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d%d%d%d%d%d%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
#log4j.logger.org.springframework.transaction.interceptor=DEBUG