springboot增加log4j

原创 Laughing  2019-07-25 20:02  阅读 12 次 评论 0 条

添加依赖

  1. <!-- 添加log4j-->  
  2.         <dependency>  
  3.             <groupId>org.springframework.boot</groupId>  
  4.             <artifactId>spring-boot-starter</artifactId>  
  5.             <exclusions>  
  6.                 <exclusion>  
  7.                     <groupId>org.springframework.boot</groupId>  
  8.                     <artifactId>spring-boot-starter-logging</artifactId>  
  9.                 </exclusion>  
  10.             </exclusions>  
  11.         </dependency>  
  12.         <dependency>  
  13.             <groupId>org.springframework.boot</groupId>  
  14.             <artifactId>spring-boot-starter-log4j</artifactId>  
  15.         </dependency>  

在resources文件夹下增加log4j.properties配置文件

  1. log4j.rootLogger=DEBUG,console,logFileDebug,logFileInfo,logFileError,logFileWarn  
  2. log4j.additivity.org.apache=true  
  3. # 控制台(console)  
  4. log4j.appender.console=org.apache.log4j.ConsoleAppender  
  5. log4j.appender.console.Threshold=INFO  
  6. log4j.appender.console.ImmediateFlush=true  
  7. log4j.appender.console.Target=System.err  
  8. log4j.appender.console.layout=org.apache.log4j.PatternLayout  
  9. log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n  
  10.   
  11. # 日志文件(logFileDebug)  
  12. log4j.appender.logFileDebug=org.apache.log4j.FileAppender  
  13. log4j.appender.logFileDebug.Threshold=DEBUG  
  14. log4j.appender.logFileDebug.ImmediateFlush=true  
  15. log4j.appender.logFileDebug.Append=true  
  16. log4j.appender.logFileDebug.File=logs/debug.log4j  
  17. log4j.appender.logFileDebug.layout=org.apache.log4j.PatternLayout  
  18. log4j.appender.logFileDebug.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n  
  19.   
  20. # 日志文件(logFileInfo)  
  21. log4j.appender.logFileInfo=org.apache.log4j.FileAppender  
  22. log4j.appender.logFileInfo.Threshold=INFO  
  23. log4j.appender.logFileInfo.ImmediateFlush=true  
  24. log4j.appender.logFileInfo.Append=true  
  25. log4j.appender.logFileInfo.File=logs/info.log4j  
  26. log4j.appender.logFileInfo.layout=org.apache.log4j.PatternLayout  
  27. log4j.appender.logFileInfo.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n  
  28.   
  29. # 日志文件(logFileError)  
  30. log4j.appender.logFileError=org.apache.log4j.FileAppender  
  31. log4j.appender.logFileError.Threshold=ERROR  
  32. log4j.appender.logFileError.ImmediateFlush=true  
  33. log4j.appender.logFileError.Append=true  
  34. log4j.appender.logFileError.File=logs/log.log4j  
  35. log4j.appender.logFileError.layout=org.apache.log4j.PatternLayout  
  36. log4j.appender.logFileError.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n  
  37.   
  38. # 日志文件(logFileWarn)  
  39. log4j.appender.logFileWarn=org.apache.log4j.FileAppender  
  40. log4j.appender.logFileWarn.Threshold=WARN  
  41. log4j.appender.logFileWarn.ImmediateFlush=true  
  42. log4j.appender.logFileWarn.Append=true  
  43. log4j.appender.logFileWarn.File=logs/log.log4j  
  44. log4j.appender.logFileWarn.layout=org.apache.log4j.PatternLayout  
  45. log4j.appender.logFileWarn.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n  

使用

  1. /* 
  2.  *     Copyright (C) 2019  木子网https://www.lisen.me 
  3.  *     项目名称:Net.XiangCaoWuYu.Idea 
  4.  *     文件名称:HomeController.java 
  5.  *     Date:19-7-19 上午1:21 
  6.  *     Author:lisen@lisen.me 
  7.  *     This program is free software: you can redistribute it and/or modify 
  8.  *     it under the terms of the GNU General Public License as published by 
  9.  *     the Free Software Foundation, either version 3 of the License, or 
  10.  *     (at your option) any later version. 
  11.  * 
  12.  *     This program is distributed in the hope that it will be useful, 
  13.  *     but WITHOUT ANY WARRANTY; without even the implied warranty of 
  14.  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  15.  *     GNU General Public License for more details. 
  16.  * 
  17.  *     You should have received a copy of the GNU General Public License 
  18.  *     along with this program.  If not, see <https://www.gnu.org/licenses/>. 
  19.  */  
  20.   
  21. package Net.XiangCaoWuYu.Controllers;  
  22.   
  23. import Net.XiangCaoWuYu.App;  
  24. import Net.XiangCaoWuYu.Pojos.Post;  
  25. import Net.XiangCaoWuYu.Pojos.PostType;  
  26. import Net.XiangCaoWuYu.Services.PostService;  
  27. import Net.XiangCaoWuYu.Services.PostTypeService;  
  28. import org.slf4j.Logger;  
  29. import org.slf4j.LoggerFactory;  
  30. import org.springframework.beans.factory.annotation.Autowired;  
  31. import org.springframework.boot.autoconfigure.EnableAutoConfiguration;  
  32. import org.springframework.data.domain.Page;  
  33. import org.springframework.data.domain.Sort;  
  34. import org.springframework.ui.Model;  
  35. import org.springframework.ui.ModelMap;  
  36. import org.springframework.web.bind.annotation.PathVariable;  
  37. import org.springframework.web.bind.annotation.RequestMapping;  
  38. import org.springframework.web.bind.annotation.ResponseBody;  
  39. import org.springframework.web.bind.annotation.RestController;  
  40. import org.springframework.web.servlet.ModelAndView;  
  41.   
  42. import java.util.HashMap;  
  43. import java.util.List;  
  44. import java.util.Map;  
  45.   
  46. @RestController  
  47. @EnableAutoConfiguration  
  48. public class HomeController {  
  49.     private static final Logger logger = LoggerFactory.getLogger(App.class);  
  50.     @Autowired  
  51.     PostTypeService postTypeService;  
  52.   
  53.     @Autowired  
  54.     PostService postService;  
  55.   
  56.     @RequestMapping("/")  
  57.     ModelAndView index() {  
  58.         logger.info("info");  
  59.         logger.debug("debug");  
  60.         logger.error("error");  
  61.         logger.warn("warn");  
  62.         List<PostType> postTypesTop = postTypeService.findTopMenu(1"posttype_order");  
  63.         List<PostType> postTypesNav = postTypeService.findTopMenu(0"posttype_order");  
  64.         Page<Post> postPage = postService.findAllPosts(010, Sort.Direction.DESC, new String[]{"postDate"});  
  65.         //int allPostCount = postService.getAllPostCount();  
  66.         ModelMap map = new ModelMap();  
  67.         map.put("posttypestop", postTypesTop);  
  68.         map.put("posttypesnav", postTypesNav);  
  69.         map.put("posts", postPage.getContent());  
  70.         int pageNum = postPage.getTotalPages();  
  71.         map.addAttribute("pageNum", pageNum);  
  72.         map.addAttribute("nextPage"1);  
  73.         return new ModelAndView("index", map);  
  74.     }  
  75.   
  76.     @RequestMapping("/page/{num}")  
  77.     ModelAndView GetArticleByPage(@PathVariable int num) {  
  78.         List<PostType> postTypesTop = postTypeService.findTopMenu(1"posttype_order");  
  79.         List<PostType> postTypesNav = postTypeService.findTopMenu(0"posttype_order");  
  80.         Page<Post> postPage = postService.findAllPosts(num, 10, Sort.Direction.DESC, new String[]{"postDate"});  
  81.         int pageNum = postPage.getTotalPages();  
  82.         int count = postPage.getNumber();  
  83.   
  84.         ModelMap map = new ModelMap();  
  85.         map.addAttribute("pageNum", pageNum);  
  86.         if (pageNum > num) {  
  87.             map.addAttribute("nextPage", num + 1);  
  88.         }  
  89.         map.put("posttypestop", postTypesTop);  
  90.         map.put("posttypesnav", postTypesNav);  
  91.         map.put("posts", postPage.getContent());  
  92.         return new ModelAndView("index", map);  
  93.     }  
  94. }  

log4j.properties使用

  1. 一.参数意义说明  
  2. 输出级别的种类  
  3. ERROR、WARN、INFO、DEBUG  
  4. ERROR 为严重错误 主要是程序的错误  
  5. WARN 为一般警告,比如session丢失  
  6. INFO 为一般要显示的信息,比如登录登出  
  7. DEBUG 为程序的调试信息  
  8. 配置日志信息输出目的地  
  9. log4j.appender.appenderName = fully.qualified.name.of.appender.class  
  10. 1.org.apache.log4j.ConsoleAppender(控制台)  
  11. 2.org.apache.log4j.FileAppender(文件)  
  12. 3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)  
  13. 4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)  
  14. 5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)  
  15. 配置日志信息的格式  
  16. log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class  
  17. 1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),  
  18. 2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),  
  19. 3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),  
  20. 4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)  
  21. 控制台选项  
  22. Threshold=DEBUG:指定日志消息的输出最低层次。  
  23. ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。  
  24. Target=System.err:默认情况下是:System.out,指定输出控制台  
  25. FileAppender 选项  
  26. Threshold=DEBUF:指定日志消息的输出最低层次。  
  27. ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。  
  28. File=mylog.txt:指定消息输出到mylog.txt文件。  
  29. Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。  
  30. RollingFileAppender 选项  
  31. Threshold=DEBUG:指定日志消息的输出最低层次。  
  32. ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。  
  33. File=mylog.txt:指定消息输出到mylog.txt文件。  
  34. Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。  
  35. MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。  
  36. MaxBackupIndex=2:指定可以产生的滚动文件的最大数。  
  37. log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n  
  38. 日志信息格式中几个符号所代表的含义:  
  39.  -X号: X信息输出时左对齐;  
  40.  %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,  
  41.  %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:20021018日 221028921  
  42.  %r: 输出自应用启动到输出该log信息耗费的毫秒数  
  43.  %c: 输出日志信息所属的类目,通常就是所在类的全名  
  44.  %t: 输出产生该日志事件的线程名  
  45.  %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)  
  46.  %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。  
  47.  %%: 输出一个"%"字符  
  48.  %F: 输出日志消息产生时所在的文件名称  
  49.  %L: 输出代码中的行号  
  50.  %m: 输出代码中指定的消息,产生的日志具体信息  
  51.  %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行  
  52.  可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:  
  53.  1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。  
  54.  2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。  
  55.  3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。  
  56.  4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉。  
  57. 二.文件配置Sample1  
  58. log4j.rootLogger=DEBUG,A1,R  
  59. #log4j.rootLogger=INFO,A1,R  
  60. # ConsoleAppender 输出  
  61. log4j.appender.A1=org.apache.log4j.ConsoleAppender  
  62. log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
  63. log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n  
  64. # File 输出 一天一个文件,输出路径可以定制,一般在根路径下  
  65. log4j.appender.R=org.apache.log4j.DailyRollingFileAppender  
  66. log4j.appender.R.File=blog_log.txt  
  67. log4j.appender.R.MaxFileSize=500KB  
  68. log4j.appender.R.MaxBackupIndex=10  
  69. log4j.appender.R.layout=org.apache.log4j.PatternLayout  
  70. log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n  
  71. 文件配置Sample2  
  72. 下面给出的Log4J配置文件实现了输出到控制台,文件,回滚文件,发送日志邮件,输出到数据库日志表,自定义标签等全套功能。  
  73. log4j.rootLogger=DEBUG,CONSOLE,A1,im   
  74. #DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE  
  75. log4j.addivity.org.apache=true  
  76. ###################   
  77. # Console Appender   
  78. ###################   
  79. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender   
  80. log4j.appender.Threshold=DEBUG   
  81. log4j.appender.CONSOLE.Target=System.out   
  82. log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout   
  83. log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n   
  84. #log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n  
  85. #####################   
  86. # File Appender   
  87. #####################   
  88. log4j.appender.FILE=org.apache.log4j.FileAppender   
  89. log4j.appender.FILE.File=file.log   
  90. log4j.appender.FILE.Append=false   
  91. log4j.appender.FILE.layout=org.apache.log4j.PatternLayout   
  92. log4j.appender.FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n   
  93. # Use this layout for LogFactor 5 analysis  
  94. ########################   
  95. # Rolling File   
  96. ########################   
  97. log4j.appender.ROLLING_FILE=org.apache.log4j.RollingFileAppender   
  98. log4j.appender.ROLLING_FILE.Threshold=ERROR   
  99. log4j.appender.ROLLING_FILE.File=rolling.log   
  100. log4j.appender.ROLLING_FILE.Append=true   
  101. log4j.appender.ROLLING_FILE.MaxFileSize=10KB   
  102. log4j.appender.ROLLING_FILE.MaxBackupIndex=1   
  103. log4j.appender.ROLLING_FILE.layout=org.apache.log4j.PatternLayout   
  104. log4j.appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
  105. ####################   
  106. # Socket Appender   
  107. ####################   
  108. log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender   
  109. log4j.appender.SOCKET.RemoteHost=localhost   
  110. log4j.appender.SOCKET.Port=5001   
  111. log4j.appender.SOCKET.LocationInfo=true   
  112. # Set up for Log Facter 5   
  113. log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout   
  114. log4j.appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n  
  115. ########################   
  116. # Log Factor 5 Appender   
  117. ########################   
  118. log4j.appender.LF5_APPENDER=org.apache.log4j.lf5.LF5Appender   
  119. log4j.appender.LF5_APPENDER.MaxNumberOfRecords=2000  
  120. ########################   
  121. # SMTP Appender   
  122. #######################   
  123. log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender   
  124. log4j.appender.MAIL.Threshold=FATAL   
  125. log4j.appender.MAIL.BufferSize=10   
  126. log4j.appender.MAIL.From=chenyl@yeqiangwei.com  
  127. log4j.appender.MAIL.SMTPHost=mail.hollycrm.com   
  128. log4j.appender.MAIL.Subject=Log4J Message   
  129. log4j.appender.MAIL.To=chenyl@yeqiangwei.com  
  130. log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout   
  131. log4j.appender.MAIL.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
  132. ########################   
  133. # JDBC Appender   
  134. #######################   
  135. log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender   
  136. log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test   
  137. log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver   
  138. log4j.appender.DATABASE.user=root   
  139. log4j.appender.DATABASE.password=   
  140. log4j.appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')   
  141. log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout   
  142. log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
  143. log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender   
  144. log4j.appender.A1.File=SampleMessages.log4j   
  145. log4j.appender.A1.DatePattern=yyyyMMdd-HH'.log4j'   
  146. log4j.appender.A1.layout=org.apache.log4j.xml.XMLLayout  
  147. ###################   
  148. #自定义Appender   
  149. ###################   
  150. log4j.appender.im = net.cybercorlin.util.logger.appender.IMAppender  
  151. log4j.appender.im.host = mail.cybercorlin.net   
  152. log4j.appender.im.username = username   
  153. log4j.appender.im.password = password   
  154. log4j.appender.im.recipient = corlin@yeqiangwei.com  
  155. log4j.appender.im.layout=org.apache.log4j.PatternLayout   
  156. log4j.appender.im.layout.ConversionPattern =[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n  
  157. 三.高级使用  
  158. 实验目的:  
  159.  1.把FATAL级错误写入2000NT日志  
  160.  2. WARN,ERROR,FATAL级错误发送email通知管理员  
  161.  3.其他级别的错误直接在后台输出  
  162. 实验步骤:  
  163.  输出到2000NT日志  
  164.  1.把Log4j压缩包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目录下  
  165.  2.写配置文件log4j.properties  
  166. # 在2000系统日志输出  
  167.  log4j.logger.NTlog=FATAL, A8  
  168.  # APPENDER A8  
  169.  log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender  
  170.  log4j.appender.A8.Source=JavaTest  
  171.  log4j.appender.A8.layout=org.apache.log4j.PatternLayout  
  172.  log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  
  173. 3.调用代码:  
  174.  Logger logger2 = Logger.getLogger("NTlog"); //要和配置文件中设置的名字相同  
  175.  logger2.debug("debug!!!");  
  176.  logger2.info("info!!!");  
  177.  logger2.warn("warn!!!");  
  178.  logger2.error("error!!!");  
  179.  //只有这个错误才会写入2000日志  
  180.  logger2.fatal("fatal!!!");  
  181. 发送email通知管理员:  
  182.  1. 首先下载JavaMail和JAF,   
  183.   http://java.sun.com/j2ee/ja/javamail/index.html  
  184.   http://java.sun.com/beans/glasgow/jaf.html  
  185.  在项目中引用mail.jar和activation.jar。  
  186.  2. 写配置文件  
  187.  # 将日志发送到email  
  188.  log4j.logger.MailLog=WARN,A5  
  189.  #  APPENDER A5  
  190.  log4j.appender.A5=org.apache.log4j.net.SMTPAppender  
  191.  log4j.appender.A5.BufferSize=5  
  192.  log4j.appender.A5.To=chunjie@yeqiangwei.com  
  193.  log4j.appender.A5.From=error@yeqiangwei.com  
  194.  log4j.appender.A5.Subject=ErrorLog  
  195.  log4j.appender.A5.SMTPHost=smtp.263.net  
  196.  log4j.appender.A5.layout=org.apache.log4j.PatternLayout  
  197.  log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  
  198.  3.调用代码:  
  199.  //把日志发送到mail  
  200.  Logger logger3 = Logger.getLogger("MailLog");  
  201.  logger3.warn("warn!!!");  
  202.  logger3.error("error!!!");  
  203.  logger3.fatal("fatal!!!");  
  204. 在后台输出所有类别的错误:  
  205.  1. 写配置文件  
  206.  # 在后台输出  
  207.  log4j.logger.console=DEBUG, A1  
  208.  # APPENDER A1  
  209.  log4j.appender.A1=org.apache.log4j.ConsoleAppender  
  210.  log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
  211.  log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  
  212.  2.调用代码  
  213.  Logger logger1 = Logger.getLogger("console");  
  214.  logger1.debug("debug!!!");  
  215.  logger1.info("info!!!");  
  216.  logger1.warn("warn!!!");  
  217.  logger1.error("error!!!");  
  218.  logger1.fatal("fatal!!!");  
  219. --------------------------------------------------------------------  
  220.  全部配置文件:log4j.properties  
  221.  # 在后台输出  
  222.  log4j.logger.console=DEBUG, A1  
  223.  # APPENDER A1  
  224.  log4j.appender.A1=org.apache.log4j.ConsoleAppender  
  225.  log4j.appender.A1.layout=org.apache.log4j.PatternLayout  
  226.  log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  
  227. # 在2000系统日志输出  
  228.  log4j.logger.NTlog=FATAL, A8  
  229.  # APPENDER A8  
  230.  log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender  
  231.  log4j.appender.A8.Source=JavaTest  
  232.  log4j.appender.A8.layout=org.apache.log4j.PatternLayout  
  233.  log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  
  234. # 将日志发送到email  
  235.  log4j.logger.MailLog=WARN,A5  
  236.  #  APPENDER A5  
  237.  log4j.appender.A5=org.apache.log4j.net.SMTPAppender  
  238.  log4j.appender.A5.BufferSize=5  
  239.  log4j.appender.A5.To=chunjie@yeqiangwei.com  
  240.  log4j.appender.A5.From=error@yeqiangwei.com  
  241.  log4j.appender.A5.Subject=ErrorLog  
  242.  log4j.appender.A5.SMTPHost=smtp.263.net  
  243.  log4j.appender.A5.layout=org.apache.log4j.PatternLayout  
  244.  log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n  
  245. 全部代码:Log4jTest.java  
  246.     
  247. /*  
  248.   * 创建日期 2003-11-13  
  249.   */   
  250.  package edu.bcu.Bean;   
  251.  import org.apache.log4j.*;   
  252.  //import org.apache.log4j.nt.*;   
  253.  //import org.apache.log4j.net.*;   
  254.  /**  
  255.   * @author yanxu  
  256.   */   
  257.  public class Log4jTest   
  258.  {   
  259.   public static void main(String args[])   
  260.   {   
  261.    PropertyConfigurator.configure("log4j.properties");   
  262.    //在后台输出   
  263.    Logger logger1 = Logger.getLogger("console");   
  264.    logger1.debug("debug!!!");   
  265.    logger1.info("info!!!");   
  266.    logger1.warn("warn!!!");   
  267.    logger1.error("error!!!");   
  268.    logger1.fatal("fatal!!!");  
  269. //在NT系统日志输出   
  270.    Logger logger2 = Logger.getLogger("NTlog");   
  271.    //NTEventLogAppender nla = new NTEventLogAppender();   
  272.    logger2.debug("debug!!!");   
  273.    logger2.info("info!!!");   
  274.    logger2.warn("warn!!!");   
  275.    logger2.error("error!!!");   
  276.    //只有这个错误才会写入2000日志   
  277.    logger2.fatal("fatal!!!");  
  278. //把日志发送到mail   
  279.    Logger logger3 = Logger.getLogger("MailLog");   
  280.    //SMTPAppender sa = new SMTPAppender();   
  281.    logger3.warn("warn!!!");   
  282.    logger3.error("error!!!");   
  283.    logger3.fatal("fatal!!!");   
  284.   }   
  285.  }  
本文地址:https://www.lisen.me/springboot-adds-log4j.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情