Spring 4.2.4.RELEASE MVC 学习笔记 - 5 - Log4j(咋个办呢 zgbn)
2016-02-27 13:11
645 查看
Spring 4.2.4.RELEASE MVC 学习笔记 - 5 - Log4j
spring mvc 学习到这里,才注意到一个问题,控制台没有任何对应的日志。哈哈,好吧接下来,我们把log4j的日志整合进去,这个也比较简单。项目引入Log4j依赖jar包
打开framework_spring工程下面的pom.xml文件,在里面填写log4j引入配置。
<!-- 导入log4j的jar包 --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
创建Log4j配置文件
创建log4j.properties文件,放到默认目录即可,目录结构如下图。
log4j.properties文件的配置代码如下。引入之后,重新编译项目,运行后控制台就会有相应的很多很多的日志打印出来了。
log4j.rootLogger=debug,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.Encoding=UTF-8 log4j.appender.stdout.layout.ConversionPattern=@%-5p|%d|%l|%t %n Info:%m %n%n
控制Spring框架的日志输入级别
上面操作后,我们发现控制台日志输入的好多debug级别的,但实际上对我们来说很多日志对开发的需求并不是很大,所以需要将Spring框架输入的日志等级控制一下。所以,就有了下面的代码。 1.创建log4j.xml文件代替log4j.properties,因为log4j.xml的描述更清晰一些。然后在重启服务即可,这是我们看到控制台日志信息清爽了很多。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <!-- 默认打印所有debug级别的日志 --> <root> <priority value="DEBUG" /> <appender-ref ref="stdout" /> </root> <!-- 指定以org.springframework包开头的类中打印info级别的日志,这里控制spring框架只输入info级别的,并且appender继承staout appender。 --> <category name="org.springframework"> <priority value="INFO" /> <appender-ref ref="stdout" /> </category> <!-- 配置一个控制台appender stdout,将日志信息输入到控制台中。 --> <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="@%-5p|%d|%l|%t %n Info:%m %n%n" /> </layout> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <!-- <param name="LevelMax" value="ERROR" /> --> <param name="LevelMin" value="DEBUG" /> </filter> </appender> </log4j:configuration>
Log4j其他一些常用配置(来自互联网)
顺便把一些Log4j常用的一些配置也给出来吧,方便大家,不过这些配置我可不保证都能正确使用哦,都是来自网上收集来的。
log4j.xml
<?xml version="1.0" encoding="GBK" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- 输出日志到控制台 ConsoleAppender --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Threshold" value="info"></param> <layout class="org.apache.log4j.TTCCLayout"> <param name="ConversionPattern" value="TTCCLayout"></param> </layout> </appender> <!-- 输出日志到文件 每天一个文件 --> <appender name="dailyRollingFile" class="org.apache.log4j.DailyRollingFileAppender"> <param name="Threshold" value="info"></param> <param name="ImmediateFlush" value="true"></param> <param name="File" value="c:/logs/dailyRollingFile.log"></param> <param name="DatePattern" value="'.'yyyy-MM-dd'.log'"></param> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] {%c:%L}-%m%n"></param> </layout> </appender> <!-- 输出日志到文件 文件大小到达指定尺寸的时候产生一个新的文件 --> <appender name="railyFile" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="c:/logs/railyFile.log"></param> <param name="ImmediateFlush" value="true"/> <param name="Threshold" value="info"></param> <param name="Append" value="true"></param> <param name="MaxFileSize" value="30KB"></param> <param name="MaxBackupIndex" value="100"></param> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] {%c:%L}-%m%n"></param> </layout> </appender> <!-- 输出日志到文件 --> <appender name="file" class="org.apache.log4j.FileAppender"> <param name="File" value="c:/logs/file.log"></param> <param name="Threshold" value="info"></param> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss\} %-5p] [%t] {%c:%L}-%m%n"></param> </layout> </appender> <!-- 定义全局的日志输出级别,但是在输出目的地的配置中配置的具体输出级别优先级高于全局定义的优先级。 如果在railyFile中定义<param name="Threshold" value="info"></param>,那么将会把info以上级别的信息输出 --> <root> <priority value="debug" /> <appender-ref ref="console" /> <appender-ref ref="dailyRollingFile" /> <appender-ref ref="railyFile" /> <appender-ref ref="file" /> </root> </log4j:configuration>
相关文章推荐
- java高并发程序设计
- Java中线程的操作方法
- [JAVA · 初级]:3.转义字符
- Struts2与Hibernate的整合实例_2
- java垃圾回收机制(学习总结)
- disruptor实现细节及源码分析
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- eclipse 自动展开源文件的位置
- Struts2与Hibernate的整合实例_1
- java枚举使用详解
- java(18)--自定义标签调用
- java使用ftpapi上传文件
- 问题: org.xml.sax.SAXParseException: cvc-complex-type.2.4.c: The matching wildcard is strict, but no
- java JDK8 学习笔记——第18章 自定义泛型、枚举与注释
- RxJava 转换操作符scan
- 使用javamail实现发送邮件
- java中的==、equals和hashCode以及hashCode生成
- Java并发-类库新组件 - Semaphore 理解:计数信号量
- struts2+Hibernate4+spring3+EasyUI环境搭建之一:准备工作
- 【leetcode】【15】3Sum