log4j 日志使用:
step1:
导入 commons-logging-1.0.4.jar
导入 log4j-1.2.15.jar
step2:
添加 log4j.properties 文件至 src 目录下
step3:
配置 log4j.properties
- log4j.rootLogger=INFO, stdout,logfile
- #stdout,
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
- log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
- log4j.appender.logfile.File=E:\\log\\smeimp
- log4j.appender.logfile.DatePattern='_'yyyy-MM-dd-HH-mm'.html'
- log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
- log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
log4j 配置详解:
1,log4j.rootLogger = [ level ] , appenderName, appenderName, ...
level: 是 log4j 的日志级别, 优先级从高到低分别是 ERROR,WARN,INFO,DEBUG.
appenderName: 就是指定日志信息输出到哪个地方. 可同时指定多个输出目的地.
2, 配置日志信息输出目的地 Appender, 其语法为:
- log4j.appender.appenderName = fully.qualified.name.of.appender.class
- log4j.appender.appenderName.option1 = value1
- ...
- log4j.appender.appenderName.option = valueN
其中, Log4j 提供的 appender 有以下几种:
- org.apache.log4j.ConsoleAppender(控制台),
- org.apache.log4j.FileAppender(文件),
- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
3, 设置好 appender 后, 针对 appender 的配置
也就是设置好要输出到什么地方后, 其它配置选项
(1).ConsoleAppender 选项
Threshold=WARN: 指定日志消息的输出最低层次.
ImmediateFlush=true: 默认值是 true, 意谓着所有的消息都会被立即输出.
Target=System.err: 默认情况下是: System.out, 指定输出控制台
(2).FileAppender 选项
Threshold=WARN: 指定日志消息的输出最低层次.
ImmediateFlush=true: 默认值是 true, 意谓着所有的消息都会被立即输出.
File=mylog.txt: 指定消息输出到 mylog.txt 文件.
Append=false: 默认值是 true, 即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容.
(3).DailyRollingFileAppender 选项
Threshold=WARN: 指定日志消息的输出最低层次.
ImmediateFlush=true: 默认值是 true, 意谓着所有的消息都会被立即输出.
File=mylog.txt: 指定消息输出到 mylog.txt 文件.
Append=false: 默认值是 true, 即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容.
DatePattern='.'yyyy-ww: 每周滚动一次文件, 即每周产生一个新的文件. 当然也可以指定按月, 周, 天, 时和分. 即对应的格式如下:
'.'yyyy-MM: 每月
'.'yyyy-ww: 每周
'.'yyyy-MM-dd: 每天
'.'yyyy-MM-dd-a: 每天两次
'.'yyyy-MM-dd-HH: 每小时
'.'yyyy-MM-dd-HH-mm: 每分钟
(4).RollingFileAppender 选项
Threshold=WARN: 指定日志消息的输出最低层次.
ImmediateFlush=true: 默认值是 true, 意谓着所有的消息都会被立即输出.
File=mylog.txt: 指定消息输出到 mylog.txt 文件.
Append=false: 默认值是 true, 即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容.
MaxFileSize=100KB: 后缀可以是 KB, MB 或者是 GB. 在日志文件到达该大小时, 将会自动滚动, 即将原来的内容移到 mylog.log.1 文件
MaxBackupIndex=2: 指定可以产生的滚动文件的最大数.
4. 配置日志信息的布局, 其语法为:
- log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
- log4j.appender.appenderName.layout.option1 = value1
- ...
- log4j.appender.appenderName.layout.option = valueN
其中, Log4j 提供的 layout 有以下几种:
- org.apache.log4j.HTMLLayout(以 HTML 表格形式布局),
- org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
- org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
- org.apache.log4j.TTCCLayout(包含日志产生的时间, 线程, 类别等等信息)
来源: http://www.bubuko.com/infodetail-2802695.html