1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
| #配置根日志优先级,及输出位置 #语法:log4j.rootLogger = [debug],apppenderName1,appenderName2... log4j.rootLogger = debug,stdout,D
#上面定义了两个输出位置名:stdout与D,现分别配置: #配置stdout为调试窗口输出: log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out #指定了一个模式表达式的布局 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout #设置该模式表达式 log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:
%l%n%m%n #说明: #[%-5p]:%p设置输出日志优先级,'-'表示左对齐,5表示日志优先级所占字符个数的宽度,取5是为了保持
一致。如:[DEBUG] #%d{yyyy-MM-dd HH:mm:ss,SSS},指定了打印日志时间与时间格式,SSS表示? #%l: 输出日志事件的发生位置,见第四部分。%n,输出换行符。%m,输出日志事件发生的方法名。
#配置D为输出日志到文件: log4j.appender.D=org.apache.log4j.FileAppender log4j.appender.D.File=D:\\Program_software\\Apache7_0_75\\webapps\\testLog.log log4j.appender.D.layout=org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
################################################################### #———————————配置详细说明,共四部分——————————#
#一、配置log4j.rootLogger #语法:log4j.rootLogger = [debug],apppenderName1,appenderName2... #如:log4j.rootLogger = debug,stdout
#二、配置Appeder——输出位置 #语法:log4j.appender.appenderName = fully.qualified.name.of.appender.class #完全合法的appenderName 有几类选择
#1、控制台:org.apache.log4j.ConsoleAppender #对应选项: #Threshold=WARN:指定日志消息的输出最低层次 #ImmediateFlush=true:默认日志立即打印 #Target=System.err:默认情况下使用System.out 输出控制台
#2、文件:org.apache.log4j.FileAppender #对应选项: #Threshold=WARN:指定日志消息输出最低层次 #ImmediateFlush=true:默认日志立即打印 #File=mylog.txt:指定输出路径,可以是任何路径 #Append=false:默认值是true,为false则覆盖
#3、周期产生日志文件:org.apache.log4j.DailyRollingFileAppender #对应选项: #Threshold=WARN:指定日志消息输出最低层次 #ImmediateFlush=true:默认日志立即打印 #File=a.log:指定消息输出到a.log文件,默认是从web服务器的根路径开始 #Append=false:默认为true #DatePattern='.'yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。 #也可指定周期: #'.'yyyy-MM:每月 #'.'yyyy-ww:每周 #'.'yyyy-MM-dd:每天 #'.'yyyy-MM-dd-a:每天两次 #'.'yyyy-MM-dd-HH:每小时 #'.'yyyy-MM-dd-HH-mm:每分钟
#4、指定文件尺寸大小产生日志文件:org.apache.log4j.RollingFileAppender #对应选项: #Threshold=WARN:指定日志消息输出最低层次 #ImmediateFlush=true:默认日志立即打印 #File=a.log:指定日志文件 #Append=false:默认为true #MaxFileSize=100KB:单位可以是KB|MB|GB,日志文件达到最大时,将会自动滚动,即将原来的内容移到
mylog.log.1文件 #MaxBackupIndex=2:指定可以产生滚动文件的最大数
#5、将日志以流格式发送到任意指定的地方:org.apache.log4j.WriterAppender #例如: #log4j.appender.R=org.apache.log4j.DailyRollingFileAppender #log4j.appender.R.File=D:\\eclipsespace\\testSSH\\WebContent\\WEB-INF\\testlog.log
#三、配置日志信息的格式布局(layout)
#layout负责格式化Appender 的输出 #语法: #log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class
#有效的layout类名字有以下几种: #1、org.apache.log4j.HTMLLayout(以HTML表格形式布局) #该选项有以下几种: #LocationInfo=true:默认值是false,输出java文件名称和行号 #Title=my app file: 默认值是 Log4J Log Messages.
#2、org.apache.log4j.PatternLayout(可以灵活地指定布局模式) #该选项有以下几种: #ConversionPattern=%m%n :指定怎样格式化指定的消息 #其中%m%n等符号所代表的含义如下: (有问题,暂不管) #-X号: X信息输出时左对齐; #%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL, #%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd
HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 #%r: 输出自应用启动到输出该log信息耗费的毫秒数 #%c: 输出日志信息所属的类目,通常就是所在类的全名 #%t: 输出产生该日志事件的线程名 #%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行
数。举例:Testlog4.main(TestLog4.java:10) #%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中
。 #%%: 输出一个"%"字符 #%F: 输出日志消息产生时所在的文件名称 #%L: 输出代码中的行号 #%m: 输出代码中指定的消息,产生的日志具体信息 #%n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行
#可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: #%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对
齐。 #%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
#%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的
字符截掉,但小于30的话也不会有空格。 #%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出
的字符截掉。
# 如:%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n [TEST] %p [%t] %C.%M(%L) | %m%n
#3、org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串) #4、org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
#四、其他
#指定包名下的日志级别 #语法:log4j.logger.包名=日志级别 #如: #log4j.logger.com.neusoft =DEBUG #指定com.neusoft包下的所有类的等级为DEBUG。
#log4j.logger.com.opensymphony.oscache=ERROR #log4j.logger.net.sf.navigator=ERROR #这两句是把这两个包下出现的错误的等级设为ERROR,如果项目中没有配置EHCache,则不需要这两句。
#log4j.logger.org.apache.commons=ERROR #log4j.logger.org.apache.struts=WARN
## #这两句是struts的包。 作者:Liekkas_BX 来源:CSDN 原文:https://blog.csdn.net/qq_19865749/article/details/70306971 版权声明:本文为博主原创文章,转载请附上博文链接!
|