# 多目的地、自定义样式
#设置级别和多个目的地#level 是日志记录的优先级,分为 OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。#Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。 #log4j.rootLogger=debug,appender1,logfileslog4j.rootLogger=INFO,appender1,rollLogFiles#控制不同包的levellog4j.logger.org.hibernate.type=warn,appender1 #log4j.logger.org.hibernate.tool=warn,appender1#输出到控制台 #Log4j提供的 appender有以下几种: # org.apache.log4j.ConsoleAppender(控制台), # org.apache.log4j.FileAppender(文件), # org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), # org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件), # org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)# 1.ConsoleAppender选项# Threshold=WARN:指定日志消息的输出最低层次。# ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。# Target=System.err:默认情况下是:System.out,指定输出控制台# 2.FileAppender 选项# Threshold=WARN:指定日志消息的输出最低层次。# ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。# File=mylog.txt:指定消息输出到mylog.txt文件。# Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。# 3.DailyRollingFileAppender 选项# Threshold=WARN:指定日志消息的输出最低层次。# ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。# File=mylog.txt:指定消息输出到mylog.txt文件。# Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。# 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: 每分钟# 4.RollingFileAppender 选项# Threshold=WARN:指定日志消息的输出最低层次。# ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。# File=mylog.txt:指定消息输出到mylog.txt文件。# Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。# MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。# MaxBackupIndex=2:指定可以产生的滚动文件的最大数。log4j.appender.appender1=org.apache.log4j.FileAppender#设置输出样式#Log4j提供的 layout有以下几种: # org.apache.log4j.HTMLLayout(以HTML 表格形式布局), # org.apache.log4j.PatternLayout(可以灵活地指定布局模式), # org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), # org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息) log4j.appender.appender1.layout=org.apache.log4j.PatternLayout #Log4J采用类似 C语言中的printf函数的打印格式格式化日志信息,打印参数如下:# %m 输出代码中指定的消息 # %p 输出优先级,即 DEBUG,INFO,WARN,ERROR,FATAL # %r 输出自应用启动到输出该 log信息耗费的毫秒数 # %c 输出所属的类目,通常就是所在类的全名 # %t 输出产生该日志事件的线程名 # %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” # %d 输出日志时间点的日期或时间,默认格式为 ISO8601,也可# 以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年 10月18日 22:10:28,921 # %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10) #自定义样式 # %r 时间 0 # %t 方法名 main# %p 优先级 DEBUG/INFO/ERROR # %c 所属类的全名(包括包名) # %l 发生的位置,在某个类的某行 # %m 输出代码中指定的讯息,如 log(message)中的message # %n 输出一个换行 #log4j.appender.appender1.layout.ConversionPattern=%r [%t] [%p] %c %l %m%n #log4j.appender.appender1.layout.ConversionPattern=%r [%t] [%p] - %c - %l - %m%n #显示格式:[时间:2013/03/21 15:22:03:186][位置: com.hety.test.log4j.Log4jTest.main(Log4jTest.java:30)][信息: debug msg ,debug信息] #log4j.appender.appender1.layout.ConversionPattern=%n[\u65F6\u95F4\:%d{yyyy/MM/dd HH\:mm\:ss\:SSS}][\u4F4D\u7F6E\: %l][\u4FE1\u606F\: %m] log4j.appender.appender1.layout.ConversionPattern=%n %p %d{yyyy/MM/dd HH\:mm\:ss\:SSS} %l %m #log4j.appender.appender1.layout.conversionPattern=%d [%X{loginUserId}/%X{req.remoteAddr}/%X{req.id} - %X{req.requestURI}?%X{req.queryString}] %-5p %c{2} - %m%n#输出到文件(这里默认为追加方式) #log4j.appender.logfiles=org.apache.log4j.FileAppender #rollLogFiles输出到文件 RollingFileAppender的扩展,提供日志备份功能。 log4j.appender.rollLogFiles=org.apache.log4j.RollingFileAppender #【1】设置文件输出路径 #【1.1】文本文件 #log4j.appender.logfiles.File=d:/Log4Test.log #log4j.appender.logfiles.File=logs/Log4Test.log #log4j.appender.logfiles.File=WebRoot/logs/Log4j_sem.log#日志文件的名称 log4j.appender.rollLogFiles.File=WebRoot/logs/Log4j_rollLogFiles_sem.log #日志文件的大小log4j.appender.rollLogFiles.MaxFileSize=1MB# 保存3个备份文件log4j.appender.rollLogFiles.MaxBackupIndex=3#【1.2】HTML文件位置 #log4j.appender.logfiles.File=d:/Log4Test.html #【2】设置文件输出样式 #【2.1】文本文件样式 #log4j.appender.logfiles.layout=org.apache.log4j.PatternLayout log4j.appender.rollLogFiles.layout=org.apache.log4j.PatternLayout #【2.2】HTML文件样 #log4j.appender.logfiles.layout=org.apache.log4j.HTMLLayout#log4j.appender.logfiles.layout.ConversionPattern=%r [%t] [%p] %c %l %m%n #log4j.appender.logfiles.layout.ConversionPattern=[%p][%d{yyyy/MM/dd HH\:mm\:ss\:SSS}][ %l][%m]%nlog4j.appender.rollLogFiles.layout.ConversionPattern=[%p][%d{yyyy/MM/dd HH\:mm\:ss\:SSS}][ %l][%m]%n