log4j

使用log4j 记录日志甚是方便,其提供了两种日志配置方式,log4j.propertes和log4j.xml,这篇文件先贴出log4j.properties配置方式

1、log4j.properties文件配置简析

下面给出了log4j.properties文件常用的一些信息,在使用时只需拷贝部分过来并把注释放开即可,如有问题 感谢留言指正.

[java]  view plain  copy
  1. ##logger是进行记录的主要类,appender是记录的方式,layout是记录的格式  
  2.   
  3. #Logger - 日志写出器,供程序员输出日志信息   
  4. #Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去   
  5. #ConsoleAppender - 目的地为控制台的Appender   
  6. #FileAppender - 目的地为文件的Appender   
  7. #RollingFileAppender - 目的地为大小受限的文件的Appender   
  8. #Layout - 日志格式化器,用来把程序员的logging request格式化成字符串   
  9. #PatternLayout - 用指定的pattern格式化logging request的Layou  
  10.   
  11. #Log4j提供的appender有以下几种:  
  12. #  org.apache.log4j.ConsoleAppender(控制台),  
  13. #  org.apache.log4j.FileAppender(文件),  
  14. #  org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),  
  15. #  org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  
  16. #  org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)  
  17.   
  18. #Log4j提供的layout有以下几种:  
  19. #  org.apache.log4j.HTMLLayout(以HTML表格形式布局),  
  20. #  org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  
  21. #  org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  
  22. #  org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)  
  23.   
  24. #Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下  
  25. #    %m 输出代码中指定的消息  
  26. #    %M 输出日志发生的方法名  
  27. #  %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL  
  28. #  %r 输出自应用启动到输出该log信息耗费的毫秒数  
  29. #  %c 输出所属的类目,通常就是所在类的全名  
  30. #  %t 输出产生该日志事件的线程名  
  31. #  %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”  
  32. #  %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:20021018日 221028921  
  33. #  %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)  
  34. #    %L 输出日志发生的位置  
  35. #     %F 输出类名  
  36.   
  37.   
  38. #####################################################################  
  39. #设置级别和目的地 -- 把日志等级为debug的日志信息输出到stdout和SYS,QUERY这三个目的地  
  40. log4j.rootLogger=debug,STDOUT  
  41. # stdout:目的地 -- 打印到屏幕  
  42. ## org.apache.log4j.ConsoleAppender:控制台  
  43. log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender  
  44. ## org.apache.log4j.PatternLayout:灵活地指定布局模式  
  45. log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout  
  46. ## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%c-%M] %m%n   [%-5p][%d{HH:mm:ss}][%l] %m%n  
  47. log4j.appender.STDOUT.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss sss}][%t][%c-%M][%L](%F:%L) - %m%n  
  48.   
  49.   
  50. # QUERY:目的地 -- 输出到文件(限定每个文件大小)  
  51. ## 凡是 info、warn、error、fatal 级别的数据都会在这里执行输出到 query.log 日志文件中  
  52. ##log4j.logger.QUERY=INFO,QUERY  
  53. log4j.logger.QUERY=INFO  
  54. ##输出到文件(这里默认为追加方式),使用org.apache.log4j.FileAppender:日志会在一个文件中追加  
  55. log4j.appender.QUERY=org.apache.log4j.RollingFileAppender  
  56. ##设置文件输出路径;html:log/query.html  
  57. log4j.appender.QUERY.File=log/query.log  
  58. ##设置文件输出样式;html格式: org.apache.log4j.HTMLLayout  
  59. log4j.appender.QUERY.layout=org.apache.log4j.PatternLayout  
  60. ## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n  
  61. log4j.appender.QUERY.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%c-%M] %m%n  
  62. ## 指定文件的最大 大小  
  63. log4j.appender.QUERY.MaxFileSize=2048KB  
  64. ## 可被备份的日志数  
  65. log4j.appender.QUERY.MaxBackupIndex=100  
  66.   
  67.   
  68. # SYS:目的地 -- 输出到文件(每天产生一个文件)   
  69. ## 凡是 error、fatal 级别的数据都会在这里执行输出到 sys.log 日志文件中  
  70. #log4j.logger.SYS=error,SYS  
  71. log4j.logger.SYS=error  
  72. ## org.apache.log4j.RollingFileAppender:每天产生一个日志文件  
  73. #使用org.apache.log4j.FileAppender:日志会在一个文件中追加  
  74. log4j.appender.SYS=org.apache.log4j.DailyRollingFileAppender  
  75. ##设置文件输出路径 ${user.home}/log/sys.log  
  76. log4j.appender.SYS.File=log/sys.log  
  77. ## org.apache.log4j.PatternLayout:灵活地指定布局模式  
  78. log4j.appender.SYS.layout=org.apache.log4j.PatternLayout  
  79. ## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n  
  80. log4j.appender.SYS.layout.ConversionPattern=[%-5p][%d{HH:mm:ss}][%C-%M] %m%n  
  81.   
  82. #设置特定包的级别  
  83. ##com.swh.weixin包下的日志内容显示级别为debug,和目的地  
  84. ## 把com.swh.weixin.util包下日志等级为debug的信息输出到pack 目的地  
  85. #log4j.logger.com.swh.weixin.util=debug,pack  
  86. ##输出到文件(这里默认为追加方式),使用org.apache.log4j.FileAppender:日志会在一个文件中追加  
  87. log4j.appender.pack=org.apache.log4j.RollingFileAppender  
  88. ##设置文件输出路径  或者 ${user.home}/log/pack.log  
  89. log4j.appender.pack.File=log/pack.log  
  90. ##设置文件输出样式  
  91. log4j.appender.pack.layout=org.apache.log4j.PatternLayout  
  92. ## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n  
  93. log4j.appender.pack.layout.ConversionPattern=[%-5p][%d{yyyy MM dd HH:mm:ss}][%c-%M] %m%n  
  94. ## 指定文件的最大 大小  
  95. log4j.appender.pack.MaxFileSize=1024KB  
  96. #日志最大备份数目  
  97. log4j.appender.pack.MaxBackupIndex=100  
  98.   
  99. ########################################################################  
  100. ##设置级别和目的地    
  101. #log4j.rootLogger=debug,appender1,appender2    
  102. ##只设置特定包的级别和目的地  
  103. #log4j.logger.com.coderdream=debug,appender1  
  104. #log4j.logger.com.coderdream.Dao=info,appender1,appender2  
  105.   
  106. ##输出到控制台  
  107. #log4j.appender.appender1=org.apache.log4j.ConsoleAppender  
  108. ##设置输出样式  
  109. #log4j.appender.appender1.layout=org.apache.log4j.PatternLayout  
  110. ##自定义样式  
  111. ## %r 时间 0  
  112. ## %t 方法名 main  
  113. ## %p 优先级 DEBUG/INFO/ERROR  
  114. ## %c 所属类的全名(包括包名)  
  115. ## %l 发生的位置,在某个类的某行  
  116. ## %m 输出代码中指定的讯息,如log(message)中的message  
  117. ## %n 输出一个换行符号  
  118. #log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n  
  119.   
  120. ##输出到文件(这里默认为追加方式)  
  121. #log4j.appender.appender2=org.apache.log4j.FileAppender  
  122. ##设置文件输出路径  
  123. ##【1】文本文件  
  124. #log4j.appender.appender2.File=c:/Log4JCRM_Dao.log  
  125. ##设置文件输出样式  
  126. #log4j.appender.appender2.layout=org.apache.log4j.PatternLayout  
  127. #log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n  
  128.   
  129.   
  130. ##把日志文件写入数据库  
  131. ##########################日志输出到远程数据库########################################  
  132. ##把日志文件写入数据库  
  133. ##记录的日志级别  
  134. log4j.logger.db=info  
  135. ##日志输出到数据库  
  136. log4j.appender.db = org.apache.log4j.jdbc.JDBCAppender  
  137. ##缓存  
  138. log4j.appender.db.BufferSize = 0  
  139. ##数据库驱动  
  140. log4j.appender.db.Driver = com.mysql.jdbc.Driver  
  141. ##数据url地址 ,本地可简写:jdbc:mysql:///test  
  142. log4j.appender.db.URL = jdbc:mysql://localhost:3306/swh_hibernate4?useUnicode=true&characterEncoding=utf8  
  143. ##数据库用户名  
  144. log4j.appender.db.User = root  
  145. ##数据库密码  
  146. log4j.appender.db.Password = root  
  147. ##日志布局模式  
  148. log4j.appender.db.layout = org.apache.log4j.PatternLayout  
  149. ##日志插入数据库中,t_logs 表字段可自定义  
  150. log4j.appender.db.layout.ConversionPattern = INSERT INTO t_logs(createDate, thread, priority, category,  
  151. methodName, message) values('%d''%t''%-5p''%c','%M''[%l]-%m')  

你可能感兴趣的:(log)