二、log4j配置文件说明

xiaoxiao2021-02-27  160

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

log4j.rootLogger=INFO,Console,LOGFILE_COMMOM log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Threshold=INFO log4j.appender.Console.Target=System.out log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}:[%p] %C{1}.%M %m%n log4j.appender.LOGFILE_COMMOM=org.apache.log4j.RollingFileAppender log4j.appender.LOGFILE_COMMOM.Threshold=WARN log4j.appender.LOGFILE_COMMOM.File=${oasc.root}/WEB-INF/logs/CommomLogger.log log4j.appender.LOGFILE_COMMOM.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE_COMMOM.layout.ConversionPattern=%n[%d{yyyy-MM-dd HH:mm:ss}][%-5p] - %l%n%m%n log4j.appender.LOGFILE_COMMOM.MaxFileSize=100MB log4j.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.PatternLayout log4j.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) 打印成功日志!=======【啦啦啦】

转载请注明原文地址: https://www.6miu.com/read-12399.html

最新回复(0)