|
- #OFF,systemOut,logFile,logDailyFile,logRollingFile,logMail,logDB,ALL
- #\u2460\u914d\u7f6e\u6839Logger
- log4j.rootLogger=debug,systemOut
- #log4j.logger.cn.zzs.dbcp=debug,systemOut
- #log4j.additivity.cn.zzs.dbcp=false
-
- #\u8f93\u51fa\u5230\u63a7\u5236\u53f0
- log4j.appender.systemOut= org.apache.log4j.ConsoleAppender
- log4j.appender.systemOut.layout= org.apache.log4j.PatternLayout
- log4j.appender.systemOut.layout.ConversionPattern=[%p][Thread:%t]: %m%n
- log4j.appender.systemOut.Threshold= debug
- log4j.appender.systemOut.ImmediateFlush= TRUE
- log4j.appender.systemOut.Target= System.out
-
- #\u8f93\u51fa\u5230\u6587\u4ef6
- log4j.appender.logFile= org.apache.log4j.FileAppender
- log4j.appender.logFile.layout= org.apache.log4j.PatternLayout
- log4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread:%t][Class:%c Method: %M]%n%p: %m%n
- log4j.appender.logFile.Threshold= DEBUG
- log4j.appender.logFile.ImmediateFlush= TRUE
- log4j.appender.logFile.Append= TRUE
- log4j.appender.logFile.File= logs/file_log.log
- log4j.appender.logFile.Encoding= utf-8
-
- #\u6309DatePattern\u8f93\u51fa\u5230\u6587\u4ef6
- log4j.appender.logDailyFile= org.apache.log4j.DailyRollingFileAppender
- log4j.appender.logDailyFile.layout= org.apache.log4j.PatternLayout
- log4j.appender.logDailyFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread:%t][Class:%c Method: %M]%n%p: %m%n
- #[%-5p][%-22d{yyyy/MM/dd HH:mm:ssS}][%l]%n%m%n
- log4j.appender.logDailyFile.Threshold= warn
- log4j.appender.logDailyFile.ImmediateFlush= TRUE
- log4j.appender.logDailyFile.Append= TRUE
- log4j.appender.logDailyFile.File= logs/daily_log
- log4j.appender.logDailyFile.DatePattern= '_'yyyy-MM-dd-HH-mm'.log'
- log4j.appender.logDailyFile.Encoding= utf-8
-
- #\u8bbe\u5b9a\u6587\u4ef6\u5927\u5c0f\u8f93\u51fa\u5230\u6587\u4ef6
- log4j.appender.logRollingFile= org.apache.log4j.RollingFileAppender
- log4j.appender.logRollingFile.layout= org.apache.log4j.PatternLayout
- log4j.appender.logRollingFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread:%t][Class:%c Method: %M]%n%p: %m%n
- log4j.appender.logRollingFile.Threshold= DEBUG
- log4j.appender.logRollingFile.ImmediateFlush= TRUE
- log4j.appender.logRollingFile.Append= TRUE
- log4j.appender.logRollingFile.File=logs/rolling_log.log
- log4j.appender.logRollingFile.MaxFileSize= 1mb
- log4j.appender.logRollingFile.MaxBackupIndex= 10
- log4j.appender.logRollingFile.Encoding= utf-8
-
- #\u7528Email\u53d1\u9001\u65e5\u5fd7
- log4j.appender.logMail= org.apache.log4j.net.SMTPAppender
- log4j.appender.logMail.layout= org.apache.log4j.HTMLLayout
- log4j.appender.logMail.layout.LocationInfo= TRUE
- log4j.appender.logMail.layout.Title= My Mail LogFile
- log4j.appender.logMail.Threshold= DEBUG
- log4j.appender.logMail.SMTPDebug= FALSE
- log4j.appender.logMail.SMTPHost= SMTP.163.com
- log4j.appender.logMail.From= zzs@163.com
- log4j.appender.logMail.To= zzs@gmail.com
- #log4j.appender.logMail.Cc= xly3000@gmail.com
- #log4j.appender.logMail.Bcc= xly3000@gmail.com
- log4j.appender.logMail.SMTPUsername= zzs
- log4j.appender.logMail.SMTPPassword= zzs
- log4j.appender.logMail.Subject= Log4j Log Messages
- #log4j.appender.logMail.BufferSize= 1024
- #log4j.appender.logMail.SMTPAuth= TRUE
-
- #\u5c06\u65e5\u5fd7\u767b\u5f55\u5230MySQL\u6570\u636e\u5e93
- log4j.appender.logDB= org.apache.log4j.jdbc.JDBCAppender
- log4j.appender.logDB.layout= org.apache.log4j.PatternLayout
- log4j.appender.logDB.Driver= com.mysql.cj.jdbc.Driver
- log4j.appender.logDB.URL= jdbc:mysql://127.0.0.1:3306/crm_logs?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=true
- log4j.appender.logDB.User= root
- log4j.appender.logDB.Password= root
- log4j.appender.logDB.Sql= INSERT INTO T_log4j(project_name,create_date,level,category,file_name,thread_name,line,all_category,message)values('Struts2','%d{yyyy-MM-ddHH:mm:ss}','%p','%c','%F','%t','%L','%l','%m')
- ################################################################################
- #\u2460\u914d\u7f6e\u6839Logger\uff0c\u5176\u8bed\u6cd5\u4e3a\uff1a
- #
- #log4j.rootLogger =[level],appenderName,appenderName2,...
- #level\u662f\u65e5\u5fd7\u8bb0\u5f55\u7684\u4f18\u5148\u7ea7\uff0c\u5206\u4e3aOFF,TRACE,DEBUG,INFO,WARN,ERROR,FATAL,ALL
- ##Log4j\u5efa\u8bae\u53ea\u4f7f\u7528\u56db\u4e2a\u7ea7\u522b\uff0c\u4f18\u5148\u7ea7\u4ece\u4f4e\u5230\u9ad8\u5206\u522b\u662fDEBUG,INFO,WARN,ERROR
- #\u901a\u8fc7\u5728\u8fd9\u91cc\u5b9a\u4e49\u7684\u7ea7\u522b\uff0c\u60a8\u53ef\u4ee5\u63a7\u5236\u5230\u5e94\u7528\u7a0b\u5e8f\u4e2d\u76f8\u5e94\u7ea7\u522b\u7684\u65e5\u5fd7\u4fe1\u606f\u7684\u5f00\u5173
- #\u6bd4\u5982\u5728\u8fd9\u91cc\u5b9a\u4e49\u4e86INFO\u7ea7\u522b\uff0c\u5219\u5e94\u7528\u7a0b\u5e8f\u4e2d\u6240\u6709DEBUG\u7ea7\u522b\u7684\u65e5\u5fd7\u4fe1\u606f\u5c06\u4e0d\u88ab\u6253\u5370\u51fa\u6765
- #appenderName\u5c31\u662f\u6307\u5b9a\u65e5\u5fd7\u4fe1\u606f\u8f93\u51fa\u5230\u54ea\u4e2a\u5730\u65b9\u3002\u53ef\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\u8f93\u51fa\u76ee\u7684
- ################################################################################
- ################################################################################
- #\u2461\u914d\u7f6e\u65e5\u5fd7\u4fe1\u606f\u8f93\u51fa\u76ee\u7684\u5730Appender\uff0c\u5176\u8bed\u6cd5\u4e3a\uff1a
- #
- #log4j.appender.appenderName =fully.qualified.name.of.appender.class
- #log4j.appender.appenderName.optionN =valueN
- #
- #Log4j\u63d0\u4f9b\u7684appender\u6709\u4ee5\u4e0b\u51e0\u79cd\uff1a
- #1)org.apache.log4j.ConsoleAppender(\u8f93\u51fa\u5230\u63a7\u5236\u53f0)
- #2)org.apache.log4j.FileAppender(\u8f93\u51fa\u5230\u6587\u4ef6)
- #3)org.apache.log4j.DailyRollingFileAppender(\u6bcf\u5929\u4ea7\u751f\u4e00\u4e2a\u65e5\u5fd7\u6587\u4ef6)
- #4)org.apache.log4j.RollingFileAppender(\u6587\u4ef6\u5927\u5c0f\u5230\u8fbe\u6307\u5b9a\u5c3a\u5bf8\u7684\u65f6\u5019\u4ea7\u751f\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6)
- #5)org.apache.log4j.WriterAppender(\u5c06\u65e5\u5fd7\u4fe1\u606f\u4ee5\u6d41\u683c\u5f0f\u53d1\u9001\u5230\u4efb\u610f\u6307\u5b9a\u7684\u5730\u65b9)
- #
- #1)ConsoleAppender\u9009\u9879\u5c5e\u6027
- # -Threshold = DEBUG:\u6307\u5b9a\u65e5\u5fd7\u6d88\u606f\u7684\u8f93\u51fa\u6700\u4f4e\u5c42\u6b21
- # -ImmediateFlush = TRUE:\u9ed8\u8ba4\u503c\u662ftrue,\u6240\u6709\u7684\u6d88\u606f\u90fd\u4f1a\u88ab\u7acb\u5373\u8f93\u51fa
- # -Target = System.err:\u9ed8\u8ba4\u503cSystem.out,\u8f93\u51fa\u5230\u63a7\u5236\u53f0(err\u4e3a\u7ea2\u8272,out\u4e3a\u9ed1\u8272)
- #
- #2)FileAppender\u9009\u9879\u5c5e\u6027
- # -Threshold = INFO:\u6307\u5b9a\u65e5\u5fd7\u6d88\u606f\u7684\u8f93\u51fa\u6700\u4f4e\u5c42\u6b21
- # -ImmediateFlush = TRUE:\u9ed8\u8ba4\u503c\u662ftrue,\u6240\u6709\u7684\u6d88\u606f\u90fd\u4f1a\u88ab\u7acb\u5373\u8f93\u51fa
- # -File = C:\log4j.log:\u6307\u5b9a\u6d88\u606f\u8f93\u51fa\u5230C:\log4j.log\u6587\u4ef6
- # -Append = FALSE:\u9ed8\u8ba4\u503ctrue,\u5c06\u6d88\u606f\u8ffd\u52a0\u5230\u6307\u5b9a\u6587\u4ef6\u4e2d\uff0cfalse\u6307\u5c06\u6d88\u606f\u8986\u76d6\u6307\u5b9a\u7684\u6587\u4ef6\u5185\u5bb9
- # -Encoding = UTF-8:\u53ef\u4ee5\u6307\u5b9a\u6587\u4ef6\u7f16\u7801\u683c\u5f0f
- #
- #3)DailyRollingFileAppender\u9009\u9879\u5c5e\u6027
- #-Threshold = WARN:\u6307\u5b9a\u65e5\u5fd7\u6d88\u606f\u7684\u8f93\u51fa\u6700\u4f4e\u5c42\u6b21
- #-ImmediateFlush = TRUE:\u9ed8\u8ba4\u503c\u662ftrue,\u6240\u6709\u7684\u6d88\u606f\u90fd\u4f1a\u88ab\u7acb\u5373\u8f93\u51fa
- # -File =C:\log4j.log:\u6307\u5b9a\u6d88\u606f\u8f93\u51fa\u5230C:\log4j.log\u6587\u4ef6
- # -Append= FALSE:\u9ed8\u8ba4\u503ctrue,\u5c06\u6d88\u606f\u8ffd\u52a0\u5230\u6307\u5b9a\u6587\u4ef6\u4e2d\uff0cfalse\u6307\u5c06\u6d88\u606f\u8986\u76d6\u6307\u5b9a\u7684\u6587\u4ef6\u5185\u5bb9
- #-DatePattern='.'yyyy-ww:\u6bcf\u5468\u6eda\u52a8\u4e00\u6b21\u6587\u4ef6,\u5373\u6bcf\u5468\u4ea7\u751f\u4e00\u4e2a\u65b0\u7684\u6587\u4ef6\u3002\u8fd8\u53ef\u4ee5\u6309\u7528\u4ee5\u4e0b\u53c2\u6570:
- # '.'yyyy-MM:\u6bcf\u6708
- # '.'yyyy-ww:\u6bcf\u5468
- # '.'yyyy-MM-dd:\u6bcf\u5929
- # '.'yyyy-MM-dd-a:\u6bcf\u5929\u4e24\u6b21
- # '.'yyyy-MM-dd-HH:\u6bcf\u5c0f\u65f6
- # '.'yyyy-MM-dd-HH-mm:\u6bcf\u5206\u949f
- #-Encoding = UTF-8:\u53ef\u4ee5\u6307\u5b9a\u6587\u4ef6\u7f16\u7801\u683c\u5f0f
- #
- #4)RollingFileAppender\u9009\u9879\u5c5e\u6027
- #-Threshold = ERROR:\u6307\u5b9a\u65e5\u5fd7\u6d88\u606f\u7684\u8f93\u51fa\u6700\u4f4e\u5c42\u6b21
- #-ImmediateFlush = TRUE:\u9ed8\u8ba4\u503c\u662ftrue,\u6240\u6709\u7684\u6d88\u606f\u90fd\u4f1a\u88ab\u7acb\u5373\u8f93\u51fa
- # -File =C:/log4j.log:\u6307\u5b9a\u6d88\u606f\u8f93\u51fa\u5230C:/log4j.log\u6587\u4ef6
- # -Append= FALSE:\u9ed8\u8ba4\u503ctrue,\u5c06\u6d88\u606f\u8ffd\u52a0\u5230\u6307\u5b9a\u6587\u4ef6\u4e2d\uff0cfalse\u6307\u5c06\u6d88\u606f\u8986\u76d6\u6307\u5b9a\u7684\u6587\u4ef6\u5185\u5bb9
- #-MaxFileSize = 100KB:\u540e\u7f00\u53ef\u4ee5\u662fKB,MB,GB.\u5728\u65e5\u5fd7\u6587\u4ef6\u5230\u8fbe\u8be5\u5927\u5c0f\u65f6,\u5c06\u4f1a\u81ea\u52a8\u6eda\u52a8.\u5982:log4j.log.1
- #-MaxBackupIndex = 2:\u6307\u5b9a\u53ef\u4ee5\u4ea7\u751f\u7684\u6eda\u52a8\u6587\u4ef6\u7684\u6700\u5927\u6570
- #-Encoding = UTF-8:\u53ef\u4ee5\u6307\u5b9a\u6587\u4ef6\u7f16\u7801\u683c\u5f0f
- ################################################################################
- ################################################################################
- #\u2462\u914d\u7f6e\u65e5\u5fd7\u4fe1\u606f\u7684\u683c\u5f0f(\u5e03\u5c40)\uff0c\u5176\u8bed\u6cd5\u4e3a\uff1a
- #
- #log4j.appender.appenderName.layout=fully.qualified.name.of.layout.class
- #log4j.appender.appenderName.layout.optionN= valueN
- #
- #Log4j\u63d0\u4f9b\u7684layout\u6709\u4ee5\u4e0b\u51e0\u79cd\uff1a
- #5)org.apache.log4j.HTMLLayout(\u4ee5HTML\u8868\u683c\u5f62\u5f0f\u5e03\u5c40)
- #6)org.apache.log4j.PatternLayout(\u53ef\u4ee5\u7075\u6d3b\u5730\u6307\u5b9a\u5e03\u5c40\u6a21\u5f0f)
- #7)org.apache.log4j.SimpleLayout(\u5305\u542b\u65e5\u5fd7\u4fe1\u606f\u7684\u7ea7\u522b\u548c\u4fe1\u606f\u5b57\u7b26\u4e32)
- #8)org.apache.log4j.TTCCLayout(\u5305\u542b\u65e5\u5fd7\u4ea7\u751f\u7684\u65f6\u95f4\u3001\u7ebf\u7a0b\u3001\u7c7b\u522b\u7b49\u7b49\u4fe1\u606f)
- #9)org.apache.log4j.xml.XMLLayout(\u4ee5XML\u5f62\u5f0f\u5e03\u5c40)
- #
- #5)HTMLLayout\u9009\u9879\u5c5e\u6027
- #-LocationInfo = TRUE:\u9ed8\u8ba4\u503cfalse,\u8f93\u51fajava\u6587\u4ef6\u540d\u79f0\u548c\u884c\u53f7
- #-Title=Struts Log Message:\u9ed8\u8ba4\u503c Log4JLog Messages
- #
- #6)PatternLayout\u9009\u9879\u5c5e\u6027
- #-ConversionPattern = %m%n:\u683c\u5f0f\u5316\u6307\u5b9a\u7684\u6d88\u606f(\u53c2\u6570\u610f\u601d\u4e0b\u9762\u6709)
- #
- #9)XMLLayout\u9009\u9879\u5c5e\u6027
- #-LocationInfo = TRUE:\u9ed8\u8ba4\u503cfalse,\u8f93\u51fajava\u6587\u4ef6\u540d\u79f0\u548c\u884c\u53f7
- #
- #Log4J\u91c7\u7528\u7c7b\u4f3cC\u8bed\u8a00\u4e2d\u7684printf\u51fd\u6570\u7684\u6253\u5370\u683c\u5f0f\u683c\u5f0f\u5316\u65e5\u5fd7\u4fe1\u606f\uff0c\u6253\u5370\u53c2\u6570\u5982\u4e0b\uff1a
- #%m \u8f93\u51fa\u4ee3\u7801\u4e2d\u6307\u5b9a\u7684\u6d88\u606f
- #%p \u8f93\u51fa\u4f18\u5148\u7ea7\uff0c\u5373DEBUG,INFO,WARN,ERROR,FATAL
- #%r \u8f93\u51fa\u81ea\u5e94\u7528\u542f\u52a8\u5230\u8f93\u51fa\u8be5log\u4fe1\u606f\u8017\u8d39\u7684\u6beb\u79d2\u6570
- #%c \u8f93\u51fa\u6240\u5c5e\u7684\u7c7b\u76ee,\u901a\u5e38\u5c31\u662f\u6240\u5728\u7c7b\u7684\u5168\u540d
- #%t \u8f93\u51fa\u4ea7\u751f\u8be5\u65e5\u5fd7\u4e8b\u4ef6\u7684\u7ebf\u7a0b\u540d
- #%n \u8f93\u51fa\u4e00\u4e2a\u56de\u8f66\u6362\u884c\u7b26\uff0cWindows\u5e73\u53f0\u4e3a\u201c\r\n\u201d\uff0cUnix\u5e73\u53f0\u4e3a\u201c\n\u201d
- #%d \u8f93\u51fa\u65e5\u5fd7\u65f6\u95f4\u70b9\u7684\u65e5\u671f\u6216\u65f6\u95f4\uff0c\u9ed8\u8ba4\u683c\u5f0f\u4e3aISO8601\uff0c\u4e5f\u53ef\u4ee5\u5728\u5176\u540e\u6307\u5b9a\u683c\u5f0f
- # \u5982\uff1a%d{yyyy\u5e74MM\u6708dd\u65e5HH:mm:ss,SSS}\uff0c\u8f93\u51fa\u7c7b\u4f3c\uff1a2012\u5e7401\u670805\u65e5 22:10:28,921
- #%l \u8f93\u51fa\u65e5\u5fd7\u4e8b\u4ef6\u7684\u53d1\u751f\u4f4d\u7f6e\uff0c\u5305\u62ec\u7c7b\u76ee\u540d\u3001\u53d1\u751f\u7684\u7ebf\u7a0b\uff0c\u4ee5\u53ca\u5728\u4ee3\u7801\u4e2d\u7684\u884c\u6570
- # \u5982\uff1aTestlog.main(TestLog.java:10)
- #%F \u8f93\u51fa\u65e5\u5fd7\u6d88\u606f\u4ea7\u751f\u65f6\u6240\u5728\u7684\u6587\u4ef6\u540d\u79f0
- #%L \u8f93\u51fa\u4ee3\u7801\u4e2d\u7684\u884c\u53f7
- #%x \u8f93\u51fa\u548c\u5f53\u524d\u7ebf\u7a0b\u76f8\u5173\u8054\u7684NDC(\u5d4c\u5957\u8bca\u65ad\u73af\u5883),\u50cfjavaservlets\u591a\u5ba2\u6237\u591a\u7ebf\u7a0b\u7684\u5e94\u7528\u4e2d
- #%% \u8f93\u51fa\u4e00\u4e2a"%"\u5b57\u7b26
- #
- # \u53ef\u4ee5\u5728%\u4e0e\u6a21\u5f0f\u5b57\u7b26\u4e4b\u95f4\u52a0\u4e0a\u4fee\u9970\u7b26\u6765\u63a7\u5236\u5176\u6700\u5c0f\u5bbd\u5ea6\u3001\u6700\u5927\u5bbd\u5ea6\u3001\u548c\u6587\u672c\u7684\u5bf9\u9f50\u65b9\u5f0f\u3002\u5982\uff1a
- # %5c: \u8f93\u51facategory\u540d\u79f0\uff0c\u6700\u5c0f\u5bbd\u5ea6\u662f5\uff0ccategory<5\uff0c\u9ed8\u8ba4\u7684\u60c5\u51b5\u4e0b\u53f3\u5bf9\u9f50
- # %-5c:\u8f93\u51facategory\u540d\u79f0\uff0c\u6700\u5c0f\u5bbd\u5ea6\u662f5\uff0ccategory<5\uff0c"-"\u53f7\u6307\u5b9a\u5de6\u5bf9\u9f50,\u4f1a\u6709\u7a7a\u683c
- # %.5c:\u8f93\u51facategory\u540d\u79f0\uff0c\u6700\u5927\u5bbd\u5ea6\u662f5\uff0ccategory>5\uff0c\u5c31\u4f1a\u5c06\u5de6\u8fb9\u591a\u51fa\u7684\u5b57\u7b26\u622a\u6389\uff0c<5\u4e0d\u4f1a\u6709\u7a7a\u683c
- # %20.30c:category\u540d\u79f0<20\u8865\u7a7a\u683c\uff0c\u5e76\u4e14\u53f3\u5bf9\u9f50\uff0c>30\u5b57\u7b26\uff0c\u5c31\u4ece\u5de6\u8fb9\u4ea4\u8fdc\u9500\u51fa\u7684\u5b57\u7b26\u622a\u6389
- ################################################################################
- ################################################################################
- #\u2463\u6307\u5b9a\u7279\u5b9a\u5305\u7684\u8f93\u51fa\u7279\u5b9a\u7684\u7ea7\u522b
- #log4j.logger.org.springframework=DEBUG
- ################################################################################
|