
首先,配置文件描述:
1,log4j.rootLogger = INFO,标准输出,R
使用stdout和R输出具有INFO级别的日志信息,您可以在此处自行命名;
级别可以分为OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL,OFF处于关闭状态,不输出任何信息,如果指定级别(例如INFO),则按此顺序降低其他级别大于该级别将输出高信息,这时将输出FATAL,ERROR,WARN和INFO级别信息.
2,log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.option1 = value1
定义标准输出的输出类型以及属性选项的配置,您可以具有以下类型:
org.apache.log4j.ConsoleAppender(控制台上的输出)
org.apache.log4j.FileAppender(输出到文件)
org.apache.log4j.DailyRollingFileAppender(每天生成一个日志文件)
org.apache.log4j.RollingFileAppender(当文件大小达到指定大小时将生成一个新文件),可以通过log4j.appender.R.MaxFileSize = 100KB以及log4j.appender来设置文件大小. R.MaxBackupIndex = 1设置为保存备份文件
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任何指定的位置)
输出中的常用选项:
Threshold = WARN: 指定最低级别的日志消息输出.

ImmediateFlush = true: 默认值为true,这意味着将立即输出所有消息.
ConsoleAppender选项:
Target = System.err: 默认情况下: System.out,指定输出控制台
文件输出的常用选项:
File = mylog.txt: 指定将消息输出到mylog.txt文件.
Append = false: 默认值为true,即将邮件添加到指定的文件,false表示使用指定的文件内容覆盖邮件.
DailyRollingFileAppender选项:
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选项:
MaxFileSize = 100KB: 后缀可以是KB,MB或GB. 当日志文件达到此大小时,它将自动滚动,即,将原始内容移动到mylog.log.1文件.
MaxBackupIndex = 2: 指定可以生成的滚动文件的最大数量.
3,log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
将stdout输出的布局定义为一种类型log4j配置文件,可以具有以下类型:
org.apache.log4j.HTMLLayout(HTML格式的布局)
org.apache.log4j.PatternLayout(可以灵活指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息级别和信息字符串),
org.apache.log4j.TTCCLayout(包括日志生成的时间,线程,类别等)
4,log4j.appender.stdout.layout.ConversionPattern = [APPName]%p [%t]%C.%M(%L)| %m%n
如果使用图案布局,则必须指定打印信息ConversionPattern的特定格式,特定参数:
%m输出代码中指定的消息
%p输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r从应用程序开始到输出日志信息所花费的毫秒数

%c输出所属的类别,通常是该类别的全名
%t输出生成日志事件的线程的名称
%n输出回车符和换行符,对于Windows为rnlog4j配置文件,对于Unix为n.
%d输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,例如: %d {yyyy MM dd HH: mm: ss,SSS},输出类似: 921年1月18日,2002 10 22:10:28
%l输出日志事件的位置,包括类别名称,发生的线程以及代码中的行数.
%x: 与当前线程关联的输出NDC(嵌套诊断环境),尤其是在Java Servlet之类的多客户端多线程应用程序中使用.
%%: 输出一个“%”字符
%F: 生成输出日志消息的文件名
%M: 输出执行方法
%L: 输出代码中的行号
您可以在%和模式字符之间添加修饰符,以控制最小宽度,最大宽度和文本对齐方式. 如:
1)c: 指定输出类别的名称. 最小宽度为20. 如果类别的名称小于20,则默认为右对齐.
2)%-20c: 指定输出类别的名称. 最小宽度为20. 如果类别的名称小于20,则“-”符号表示左对齐.
3)%. 30c: 指定输出类别的名称. 最大宽度为30. 如果类别名称大于30,则左侧的多余字符将被截断,但是如果小于30,则将没有空格.

4).30c: 如果类别名称少于20,则填写空格并右对齐,如果名称名称超过30个字符,则切断从左侧出售的字符.
[APPName]是日志信息的开头,可以是任何字符,通常称为项目缩写.
5,log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
6,log4j.appender.R.File = D: \\ logs \\ APPName.log
在R: \\ logs \\ APPName.log的输出中定义文件名D,可以自己修改.
7,log4j.appender.R.layout = org.apache.log4j.PatternLayout
8,log4j.appender.R.layout.ConversionPattern =%d- [TS]%p%t%c-%m%n
9,log4j.logger.com.johnny = DEBUG
自定义每个程序包中的日志级别,并为com.johnny程序包下的所有类指定DEBUG级别.
第二,加载您自己的配置文件
log4j默认情况下将log4j.properties文件加载到类路径下. 如果使用其他名称自定义属性文件,则需要使用PropertyConfigurator.configure(“ FilePath”)来加载配置文件. 在这里,您应该注意配置文件的路径:
对于Java项目:
1,绝对路径-F: \\ test \\ log4jSelf.properties;
无需多说. 如果不是Web项目,则写入绝对路径就是硬盘上的完整路径
2. 相对路径-src / youFileName.properties
log4j的默认当前路径项目与src位于同一目录. 了解这个. 我们相信每个人都可以使用相对路径,或者类加载器可以获取路径;
对于Web项目:
getRealPath获取路径和文件名
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-267435-1.html
如果美国总是这样挑衅
并应对任何可能出现的问题
@LINX11mv的意思表达了她们的心情与决心欢迎归来