在pom文件中加入下面的依赖
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
log4j.properties使用说明
# 输出级别的种类 ERROR、WARN、INFO、DEBUG
# 配置日志信息输出目的地,log4j.appender.appenderName = fully.qualified.name.of.appender.class
## org.apache.log4j.ConsoleAppender(控制台)
## org.apache.log4j.FileAppender(文件)
## org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
## org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
## org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
# 配置日志信息的格式,log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
## org.apache.log4j.HTMLLayout(以HTML表格形式布局)
## org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
## org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
## org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
## org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
# 控制台选项
## Threshold=DEBUG:指定日志消息的输出最低层次。
## ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
## Target=System.err:默认情况下是:System.out,指定输出控制台
# FileAppender 选项
## Threshold=DEBUF:指定日志消息的输出最低层次。
## ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
## File=mylog.txt:指定消息输出到mylog.txt文件。
## Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
# RollingFileAppender 选项
## Threshold=DEBUG:指定日志消息的输出最低层次。
## ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
## File=mylog.txt:指定消息输出到mylog.txt文件。
## Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
## MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。
## MaxBackupIndex=2:指定可以产生的滚动文件的最大数。
# 日志信息格式中几个符号所代表的含义
## -X号: X信息输出时左对齐;
## %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
## %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
## %c: 输出日志信息所属的类目,通常就是所在类的全名
## %t: 输出产生该日志事件的线程名
## %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数
## %L: 输出代码中的行号
## %m: 输出代码中指定的消息,产生的日志具体信息
## %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行
# 自定义类的设置 category
log4j.rootLogger=INFO,appender3,fileout log4j.logger.java.sql = DEBUG # hibernate LOG log4j.logger.org.hibernate.SQL = DEBUG log4j.logger.org.hibernate.persister = DEBUG log4j.logger.org.hibernate.id.IdentifierGeneratorHelper = DEBUG log4j.logger.org.hibernate.tool.hbm2ddl = DEBUG log4j.logger.org.hibernate.internal.util.EntityPrinter = DEBUG #security log4j.logger.org.springframework.security.web.access = DEBUG # appender1 ConsoleAppender TTCCLayout log4j.appender.appender1=org.apache.log4j.ConsoleAppender log4j.appender.appender1.layout=org.apache.log4j.TTCCLayout # appender2 FileAppender html log4j.appender.appender2=org.apache.log4j.FileAppender log4j.appender.appender2.File=G:/Log4JDemo02.html log4j.appender.appender2.layout=org.apache.log4j.HTMLLayout #appender3 ConsoleAppender log4j.appender.appender3=org.apache.log4j.ConsoleAppender #log4j.appender.appender3.Target=System.err log4j.appender.appender3.layout=org.apache.log4j.PatternLayout log4j.appender.appender3.layout.ConversionPattern=[%d{HH:mm:ss} %p]<%c>{\u4FE1\u606F\uFF1A %m}%n log4j.logger.com.broadwave.developer_guide.logger.custom=info,appender1 log4j.additivity.com.broadwave.developer_guide.logger.custom = false log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender #log4j.appender.fileout.Encoding=UTF-8 log4j.appender.fileout.DatePattern ='.'yy-MM-dd HH'\u65F6.log' log4j.appender.fileout.File=G:/log/spring_strategy.log log4j.appender.fileout.layout=org.apache.log4j.PatternLayout log4j.appender.fileout.layout.ConversionPattern=-[%d{yy-MM-dd HH:mm:ss}]<%p><%c>{\u4FE1\u606F\uFF1A %m}%n