二、log4j配置文件说明

来源:互联网 发布:java识别图片中文文字 编辑:程序博客网 时间:2024/05/22 10:33

本文介绍log4j日志的主要配置,日志级别,日志输出目的,日志输出路径,日志格式

log4j.rootLogger=INFO,Console,LOGFILE_COMMOMlog4j.appender.Console=org.apache.log4j.ConsoleAppenderlog4j.appender.Threshold=INFOlog4j.appender.Console.Target=System.outlog4j.appender.Console.layout=org.apache.log4j.PatternLayoutlog4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:[%p] %C{1}.%M %m%nlog4j.appender.LOGFILE_COMMOM=org.apache.log4j.RollingFileAppenderlog4j.appender.LOGFILE_COMMOM.Threshold=WARNlog4j.appender.LOGFILE_COMMOM.File=${oasc.root}/WEB-INF/logs/CommomLogger.loglog4j.appender.LOGFILE_COMMOM.layout=org.apache.log4j.PatternLayoutlog4j.appender.LOGFILE_COMMOM.layout.ConversionPattern=%n[%d{yyyy-MM-dd HH:mm:ss}][%-5p] - %l%n%m%nlog4j.appender.LOGFILE_COMMOM.MaxFileSize=100MBlog4j.appender.LOGFILE_COMMOM.MaxBackupIndex=5

1、log4j日志常用级别level:ERROR > WARN > INFO > DEBUG :级别高的,可以过滤掉级别低的日志

log4j.rootLogger=level,appenderName1,appenderName2,...

  • level指定日志级别,如上图,rootLogger的级别设置为INFO,则appender中Threshold级别比INFO高的(如INFO,WARN,ERROR)会被输出到相应的目的,日志中级别为DEBUG的被过滤掉
  • appenderName指定日志输出目的(类型如2),每个输出目的需添加到rootLogger上

2、log4j日志的输出目的:appender,控制日志输出到控制台或文件中
appender输出类型:

org.apache.log4j.ConsoleAppender(控制台,常用),org.apache.log4j.FileAppender(文件),org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件,常用),org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件,常用),org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

  • 添加输出目的,格式如:log4j.appender.appenderName=。。。
  • 添加输出目的级别:格式如:log4j.appender.appenderName.Threshold=level  当logger.method()中的method级别高于或等于level时,日志会输出到这个目的
  • 添加文件时,配置文件大小:MaxFileSize=xxx,xxx表示文件的最大存储空间,如100m
  • 添加文件时,配置文件备份:MaxBackupIndex=x,x表示日志文件的最大备份数量

3、日志输出路径

log4j.appender.LOGFILE_COMMOM.File=${oasc.root}/WEB-INF/logs/CommomLogger.log

日志将输出到CommonLogger.log里面

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">  <description>oasc server</description>  <display-name>oasc</display-name>  <context-param>    <param-name>webAppRootKey</param-name>    <param-value>oasc.root</param-value>  </context-param></web-app>

文件路径配置:通过 webAppRootKey 配置 oasc.root 为相对路径,即项目的根路径

4、日志输出格式常用类型

log4j.appender.LOGFILE_COMMOM.layout=org.apache.log4j.PatternLayoutlog4j.appender.LOGFILE_COMMOM.layout.ConversionPattern=%n[%d{yyyy-MM-dd HH:mm:ss}][%-5p] - %l%n%m%n

ConversionPattern格式参数说明:

%n:输出一个回车换行符

%d:输出日志的时间

%p:输出日志的级别,DEBUG,INFO,WARN,ERROR

%l:输出打印这条日志的代码在所在类的第几行

%m:输出日志的内容


日志输出结果如下:

[2017-08-30 19:04:03][WARN ] - com.learn.log.ShowLogger.loggerSuccess(ShowLogger.java:273)打印成功日志!=======【啦啦啦】



原创粉丝点击