Log4j 使用
Log4j试用
创建maven项目,下载最新的log4j插件
在src/main/properties中放置默认的log4j配置文件
后期,还可以通过指定位置方式加载配置文件,目前暂时没有尝试
简单代码:
package com.test.mylog;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class MyLog {
private static Logger logger = Logger.getLogger(MyLog.class);
public static void main(String[] args) {
// TODO Auto-generated method stub
logger.setLevel(Level.DEBUG);
logger.debug("hello world!!");
logger.info("hello world!!1234");
}
}
简单的配置文件:
log4j.rootLogger=DEBUG
log4j.logger.com.test.mylog.MyLog= DEBUG, MyLog
log4j.appender.MyLog = org.apache.log4j.FileAppender
log4j.appender.MyLog.File = G://proj_java/mylog.log
log4j.appender.MyLog.layout=org.apache.log4j.PatternLayout
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.MyLog.layout.ConversionPattern=%d %p [%c] - %m%n
log4j配置文件说明:
配置文件分类:
Log4j支持两种配置文件格式,一种是XML格式的文件,一种是properties(key=value)文件,其中properties格式的配置文件最为常用,其有一个固定的文件名log4j.properties
配置rootlogger:
rootLogger的配置方式:
log4j.rootLogger = level,appenderName1,appenderName2, .....
rootLogger的配置详解
level是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别,默认优先级:ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFF
Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来
appenderName是日志信息输出位置,可以同时指定多个输出目的地
配置日志信息输出目的地Appender
Appender的配置方式:
log4j.appender.appenderName = Log4j提供的appender(类名)《参考下面说明由那些值》
log4j.appender.appenderName.属性名 = 属性值
.....
log4j.appender.appenderName.属性名 = 属性值
Appender的配置详解
Log4j提供的appender有以下5种,分别可以将日志信息输出到5个不同的平台:
org.apache.log4j.ConsoleAppender(日志输出到控制台)
org.apache.log4j.FileAppender(日志输出到文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
ConsoleAppender
Threshold=WARN:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
Target=System.err:默认情况下是:System.out,指定输出控制台
FileAppender
Threshold=WARN:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
File=mylog.txt:指定消息输出到mylog.txt文件。
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
DailyRollingFileAppender
Threshold=WARN:指定日志消息的输出最低层次。
ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。
File=mylog.txt:指定消息输出到mylog.txt文件。
Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
DatePattern=”.”yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。
当然也可以指定按月、周、天、时和分。即对应的格式如下:
1)”.”yyyy-MM: 每月
2)”.”yyyy-ww: 每周
3)”.”yyyy-MM-dd: 每天
4)”.”yyyy-MM-dd-a: 每天两次
5)”.”yyyy-MM-dd-HH: 每小时
6)”.”yyyy-MM-dd-HH-mm: 每分钟
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:指定可以产生的滚动文件的最大数。

浙公网安备 33010602011771号