您的位置:首页 > 其它

log4j配置文件的书写

2017-05-10 17:31 155 查看
显示级别:Logger

debug<info<error<fatal

 

输出位置:Appender

控制台:ConsoleAppender

文件:FileAppender

日志:DailyRollingFileAppender

大小:RollingFileAppender

流格式:WriterAppender

log4j.appender.appenderName =

 fully.qualified.name.of.appender.class

log4j.appender.appenderName =

 org.apache.log4j.FileAppender

 

ConsoleAppender 选项

Threshold=WARN: 输出最低层次。

ImmediateFlush=true: 默认值是 true,消息都会被立即输出。

Target=System.err :默认情况下是: System.out, 指定输出控制台

 

FileAppender 选项

Threshold=WARN:输出最低层次。

ImmediateFlush=true: 默认值是 true, 所有的消息都会被立即输出。

File=mylog.txt: 指定消息输出到指定文件。

Append=false: 默认值是 true, 即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容。

 

DailyRollingFileAppender 选项

Threshold=WARN:输出最低层次。

ImmediateFlush=true: 默认值是 true, 所有的消息都会被立即输出。

File=mylog.txt: 指定消息输出到指定文件,或者${java.home}、rolling.log

Append=false: 默认值是 true, 即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容。

MaxBackupIndex备份数

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: 指定消息输出到指定文件。

Append=false: 默认值是 true, 即将消息增加到指定文件中, false 指将消息覆盖指定的文件内容

MaxFileSize=100KB文件达到指定大小输出

MaxBackupIndex=2: 指定可以产生的滚动文件的最大数

输出样式:Layout

详细信息: TTCCLayout

自定义模式:PatternLayout

日志级别和信息:SimpleLayout

HTML格式:HTMLLayout

log4j.appender.appenderName.layout =

fully.qualified.name.of.layout.class

log4j.appender.appenderName.layout =

org.apache.log4j.HTMLLayout

 

自定义格式的参数

%m 输出代码中指定的消息

%p 输出优先级

%r 输出自应用启动到输出该log 信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符, Windows 平台为 “rn” , Unix 平台为 “n”

%d 输出日志时间点的日期或时间,默认格式为 ISO8601

%20c 最小的宽度是20右对齐

%20c 最小的宽度是20左对齐

%.20c 最大的宽度是20右对齐

4000
%20.30c      20个字符到30个

 

自定义时间参数

%d{yyy MMM dd HH:mm:ss,SSS}

2002年10月18日22:10:28,921

 

具体使用

文件中调用

 public static Logger getLogger(XXXX.class)

文件中写入

LOGGER.info/.debug/.fatal/.error

具体示例

log4j.properties

 

log4j.rootLogger=FATAL, logfile

#上一句设置了级别为FATAL

log4j.appender.logfile=org.apache.log4j.FileAppender

#输出位置

log4j.appender.logfile.File=D:\\out.csv

#输出方式

log4j.appender.logfile.Append=true

#设置追加

log4j.appender.logfile.Encoding=gbk

#设置日志编码格式

#log4j.appender.logfile.layout=org.apache.log4j.PatternLayou

#上一句是不经过修改的自定义输出

log4j.appender.logfile.layout=com.dialogueportal.test.CSVLayout

#自己重写的输出方式,可以用来输出Header

log4j.appender.logfile.layout.ConversionPattern=%d{yyyy/MM/dd HH:mm},%m%n

#自定义日志格式

 

log4j.xml

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">   

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">   

    <appender name="appender1" 

        class="org.apache.log4j.RollingFileAppender"> 

        <param name="File" value="logfile08.html" /> 

        <param name="MaxFileSize" value="1MB" /> 

        <param name="MaxBackupIndex" value="5" /> 

        <layout class="org.apache.log4j.HTMLLayout"> 

        </layout> 

    </appender>   

    <root> 

        <level value="debug" /> 

        <appender-ref ref="appender1" /> 

    </root> 

</log4j:configuration> 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: