SSM框架系列之日志管理实现

举报
yd_273762914 发表于 2020/12/02 22:20:45 2020/12/02
【摘要】   本博客介绍log4j的日志管理配置   log4j.peroperties: 在D盘创建一个logs的文件夹来存放日志   ### set log levels ### log4j.rootLogger = info , Console , D#Consolelog4j.appender.Console=org.apache.lo...

 

本博客介绍log4j的日志管理配置

 

log4j.peroperties:

在D盘创建一个logs的文件夹来存放日志

 


  
  1. ### set log levels ###
  2. log4j.rootLogger = info , Console , D
  3. #Console
  4. log4j.appender.Console=org.apache.log4j.ConsoleAppender
  5. log4j.appender.Console.layout=org.apache.log4j.PatternLayout
  6. log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
  7. log4j.logger.java.sql.ResultSet=INFO
  8. log4j.logger.org.apache=INFO
  9. log4j.logger.java.sql.Connection=INFO
  10. log4j.logger.java.sql.Statement=INFO
  11. log4j.logger.java.sql.PreparedStatement=INFO
  12. #output2file
  13. log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
  14. log4j.appender.D.File = D\:/logs/log.log
  15. log4j.appender.D.Append = true
  16. log4j.appender.D.Threshold = INFO \#\# \u8F93\u51FAinfo\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7
  17. log4j.appender.D.layout = org.apache.log4j.PatternLayout
  18. log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n


写个日志管理类:

 

 


  
  1. package com.appweb.core.logger;
  2. public class Logger {
  3. private org.apache.log4j.Logger logger;
  4. /**
  5. * 构造方法,初始化Log4j的日志对象
  6. */
  7. private Logger(org.apache.log4j.Logger log4jLogger) {
  8. logger = log4jLogger;
  9. }
  10. /**
  11. * 获取构造器,根据类初始化Logger对象
  12. *
  13. * @param Class
  14. * Class对象
  15. * @return Logger对象
  16. */
  17. public static Logger getLogger(Class classObject) {
  18. return new Logger(org.apache.log4j.Logger.getLogger(classObject));
  19. }
  20. /**
  21. * 获取构造器,根据类名初始化Logger对象
  22. *
  23. * @param String
  24. * 类名字符串
  25. * @return Logger对象
  26. */
  27. public static Logger getLogger(String loggerName) {
  28. return new Logger(org.apache.log4j.Logger.getLogger(loggerName));
  29. }
  30. public void debug(Object object) {
  31. logger.debug(object);
  32. }
  33. public void debug(Object object, Throwable e) {
  34. logger.debug(object, e);
  35. }
  36. public void info(Object object) {
  37. logger.info(object);
  38. }
  39. public void info(Object object, Throwable e) {
  40. logger.info(object, e);
  41. }
  42. public void warn(Object object) {
  43. logger.warn(object);
  44. }
  45. public void warn(Object object, Throwable e) {
  46. logger.warn(object, e);
  47. }
  48. public void error(Object object) {
  49. logger.error(object);
  50. }
  51. public void error(Object object, Throwable e) {
  52. logger.error(object, e);
  53. }
  54. public void fatal(Object object) {
  55. logger.fatal(object);
  56. }
  57. public String getName() {
  58. return logger.getName();
  59. }
  60. public org.apache.log4j.Logger getLog4jLogger() {
  61. return logger;
  62. }
  63. public boolean equals(Logger newLogger) {
  64. return logger.equals(newLogger.getLog4jLogger());
  65. }
  66. }


可以写个BaseController的控制类

 

然后将log的管理类加进来,实现日志管理的重复使用

 


  
  1. package com.appweb.core.base;
  2. import javax.servlet.http.HttpServletRequest;
  3. import org.springframework.web.context.request.RequestContextHolder;
  4. import org.springframework.web.context.request.ServletRequestAttributes;
  5. import org.springframework.web.servlet.ModelAndView;
  6. import com.appweb.core.entity.Page;
  7. import com.appweb.core.entity.PageData;
  8. import com.appweb.core.logger.Logger;
  9. import com.appweb.core.utils.UuidUtil;
  10. public class BaseController {
  11. protected Logger logger = Logger.getLogger(this.getClass());
  12. private static final long serialVersionUID = 6357869213649815390L;
  13. /**
  14. * 得到分页列表的信息
  15. */
  16. public static void logBefore(Logger logger, String interfaceName){
  17. logger.info("");
  18. logger.info("start");
  19. logger.info(interfaceName);
  20. }
  21. public static void logAfter(Logger logger){
  22. logger.info("end");
  23. logger.info("");
  24. }
  25. }

 

 

 

 

 

然后每个控制类都extends这个BaseController,使用日志的时候叫调用logger日志管理类

 

文章来源: smilenicky.blog.csdn.net,作者:smileNicky,版权归原作者所有,如需转载,请联系作者。

原文链接:smilenicky.blog.csdn.net/article/details/52554785

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。