首页 > 代码库 > 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(二)
【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(二)
Log4j
这个东西,大家都熟悉,就简单的介绍一下,算是一个抛砖引玉,因为我自己在Log日志的搭建方面,没有什么经验,但这东西确实是非常重要的,日后调Bug没有它基本不可能,如果有朋友有什么比较好的Log日志使用教程,还望可以告知一下。
Log4j配置文件
目录:Resource,文件名:log4j.properties
新建一个log4j的配置文件,这个文件放在resource根目录下即可,貌似说是,项目启动的时候,会被自动加载,这个我就不懂了,因为我确实没有研究Log4j,只是网上看过几篇文章。
1 #定义LOG输出级别 2 log4j.rootLogger=INFO,Console,File 3 #定义日志输出目的地为控制台 4 log4j.appender.Console=org.apache.log4j.ConsoleAppender 5 log4j.appender.Console.Target=System.out 6 #可以灵活地指定日志输出格式,下面一行是指定具体的格式 7 log4j.appender.Console.layout = org.apache.log4j.PatternLayout 8 log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n 9 #文件大小到达指定尺寸的时候产生一个新的文件10 log4j.appender.File = org.apache.log4j.RollingFileAppender11 #指定输出目录12 log4j.appender.File.File = logs/ssm.log13 #定义文件最大大小14 log4j.appender.File.MaxFileSize = 10MB15 # 输出所以日志,如果换成DEBUG表示输出DEBUG以上级别日志16 log4j.appender.File.Threshold = ALL17 log4j.appender.File.layout = org.apache.log4j.PatternLayout18 log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
Log4j的再封装工具
目录:com.magic.rent.util,文件名:Log.java
我个人有强迫症,不喜欢在每个类中都去创建一个logger对象,所以把这个东西封装成了静态方法,这个就主要是因人而异吧我觉得。
1 package com.magic.rent.util; 2 3 import org.apache.commons.logging.LogFactory; 4 5 public class Log { 6 7 public static void info(Object object, String tittle, String text) { 8 org.apache.commons.logging.Log logger = LogFactory.getLog(object.getClass()); 9 String infoStart = "\n————————————————————————————————————————————————————————[Info Start]——\n";10 String infoEnd = "————————————————————————————————————————————————————————[Info End]——\n";11 StringBuffer stringBuffer = new StringBuffer(infoStart);12 stringBuffer.append("标题:" + tittle + "\n内容:")13 .append(text + "\n")14 .append(infoEnd);15 logger.info(stringBuffer.toString());16 }17 18 public static void error(Object object, String tittle, String text, Throwable t) {19 org.apache.commons.logging.Log logger = LogFactory.getLog(object.getClass());20 String infoStart = "\n————————————————————————————————————————————————————————[Info Start]——\n";21 String infoEnd = "————————————————————————————————————————————————————————[Info End]——\n";22 StringBuffer stringBuffer = new StringBuffer(infoStart);23 stringBuffer.append("标题:" + tittle + "\n内容:")24 .append(text + "\n")25 .append(infoEnd);26 logger.error(stringBuffer.toString(), t);27 }28 29 public static void debug(Object object, String tittle, String text) {30 org.apache.commons.logging.Log logger = LogFactory.getLog(object.getClass());31 String infoStart = "\n————————————————————————————————————————————————————————[Info Start]——\n";32 String infoEnd = "————————————————————————————————————————————————————————[Info End]——\n";33 StringBuffer stringBuffer = new StringBuffer(infoStart);34 stringBuffer.append("标题:" + tittle + "\n内容:")35 .append(text + "\n")36 .append(infoEnd);37 logger.debug(stringBuffer.toString());38 }39 40 }
这样写的实际调用起来,就是这种代码:
Log.info(this, "过滤链接地址", "servletPath:" + servletPath);
而打出来的日志效果,是这样子,我感觉看着很清晰...个人感觉而已- -
可以看到,第一行输出的是打出日志的“类名”,
后续开始就是正文内容,标题对应的是String Tittle这个参数,而内容对应的则是String text。
恩,我在想要不要添加一个时间戳...当然加一个时间错并不难,有需要可以自行处理。那基本格式就是这样子了。
【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。