log4j(log for java)
1 maven工程引入jar包
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2 配置文件 log4j.properties
log4j.appender.c=org.apache.log4j.ConsoleAppender
log4j.appender.c.Target=System.out
log4j.appender.c.layout=org.apache.log4j.PatternLayout
log4j.appender.c.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}] %c %L %m%n
log4j.rootLogger=INFO,c
3 代码实现
public class MyLog {
private static Logger logger = Logger.getLogger(MyLog.class);
public static void main(String[] args) {
logger.error("error");
logger.info("info");
logger.debug("debug");
}
}
配置文件详解:
(1) 定义附加器appender
log4j.appender.附加器名称(自定义)= 附加器实现类(log4j定义好的)
以下是常用的附加器实现类
-
org.apache.log4j.ConsoleAppender:输出到控制台
-
org.apache.log4j.FileAppender:输出到文件
-
org.apache.log4j.RollingFileAppender:当日志文件大小到达指定尺寸的时候将产生一个新的日志文件
-
org.apache.log4j.DailyRollingFileAppender:每天产生一个日志文件
(2)附加器添加属性
a 控制台附加器(console为自定义附加器名称)
log4j.appender.console.Target=System.out
Target:控制输出到控制台的使用目标(System.out / System.err)
System.out是以黑色字体显示到控制台,而System.err则是以红色字体显示
b 文件附加器(file为自定义附加器名称)
log4j.appender.file.File=d:/logfile.txt
File:日志要输出的文件位置及文件名称
c 滚动文件附加器(rollfile为自定义附加器名称)
log4j.appender.rollfile.MaxFileSize=10KB
MaxFileSize:用于指定日志文件的最大值。若文件超过指定值,将自动产生另一个日志文件
常用布局类型:
- org.apache.log4j.HTMLLayout:网页布局,以HTML表格形式布局
- org.apache.log4j.SimpleLayout:简单布局,包含日志信息的级别和信息字符串
- org.apache.log4j.PatternLayout:匹配器布局,可以灵活地指定布局模式(通过设置PatternLayout的ConversionPattern属性值来控制具体输出格式)
(3)配置rootLogger
log4j.rootLogger = [级别] , appender名称1,appender名称2……
级别从高到低:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,设置低级别会显示高级别日志信息,级别越高,显示信息越少