Spring+Log4J.xml在web中的使用方法
来源:互联网 发布:什么是网络综艺节目 编辑:程序博客网 时间:2024/06/06 07:20
1.通过Maven导入Jar包依赖
- Spring依赖的包:spring-core,spring-beans, spring-context, spring-web
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.3.RELEASE</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.3.RELEASE</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.2.3.RELEASE</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>4.2.3.RELEASE</version></dependency>
- Log4J依赖包:
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency>
2. web.xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/spring/core/appcontext-*.xml</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <!-- 注意与上方spring配置文件差异,此处classpath后不可带* --> <param-value>classpath:log/log4j.xml</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <!-- 配置log4j.xml监听器--> <!--需要配置在 ContextLoaderListener之前--> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener></web-app>
3. Log4J.xml 配置
log4j.xml 的详细配置可参考文章
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration PUBLIC "-//log4j/log4j Configuration//EN" "log4j.dtd"><log4j:configuration> <!-- 日志输出到控制台--> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <!-- 日志输出格式 --> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%p][%d{yyyy-MM-dd HH:mm:ss SSS}][%c]-[%m]%n" /> </layout> <!--过滤器设置输出的级别--> <filter class="org.apache.log4j.varia.LevelRangeFilter"> <!-- 设置日志输出的最小级别 --> <param name="levelMin" value="INFO" /> <!-- 设置日志输出的最大级别 --> <param name="levelMax" value="ERROR" /> </filter> </appender> <!--日志输出到文件,且每天一个文件--> <appender name="rootAppender" class="org.apache.log4j.DailyRollingFileAppender"> <!-- 文件位置 --> <param name="File" value="/data/applogs/own/root.log" /> <!-- 是否在原有日志的基础添加新日志--> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%p][%d{HH:mm:ss SSS}][%c]-[%m]%n" /> </layout> </appender> <!-- 根logger的设置--> <root> <priority value ="debug"/> <appender-ref ref="console"/> <appender-ref ref="rootAppender"/> </root></log4j:configuration>
4. 代码测试
@Componentpublic class LogTest { Logger logger = Logger.getLogger(LogTest.class); @PostConstruct public void test(){ logger.info("----Log.Info----"); logger.info("----Log.Info----"); logger.info("----Log.Info----"); }}
5. 结果展示:
控制台输出:
文件输出
6. Spring + Log4j + Slf4j
Slf4j为所有日志组件提供统一的门面,在使用时,如果需要换日志组件(如从logback换成log4j),只需要替换相应的jar即可, 理论上是不需要修改代码。
此处以Log4j + Slf4j 为例:
需要jar包:
<!--引入spring依赖jar--><!--slf4j的依赖包--><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.9</version></dependency><!--连接slf4j与log4j--><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.9</version></dependency><!--log4j--><dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version></dependency>
测试代码
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component;import javax.annotation.PostConstruct;@Componentpublic class LogTest { // 通过slf4j提供的工厂方法,构建logger private static final Logger logger = LoggerFactory.getLogger(LogTest.class); @PostConstruct public void test(){ logger.info("----Log.Info----"); logger.info("----Log.Info----"); logger.info("----Log.Info----"); }}
阅读全文
0 0
- Spring+Log4J.xml在web中的使用方法
- Spring, Log4j, 等各项在web.xml中配置
- log4J配置及在web.xml文件中的配置
- log4j配置在web.xml文件中的配置
- spring在web.xml中的配置
- Spring在Web.xml中的配置
- Spring在web.xml中的配置
- spring上下文在web.xml中的配置
- spring在web.xml中的配置
- spring上下文在web.xml中的配置
- spring在web.xml中的配置
- spring在web.xml中的配置
- spring 在web.xml中的配置
- spring在web.xml中的配置
- spring在web.xml中的配置示例
- spring在web.xml中的配置
- spring的applicationContext.xml在web.xml中的配置详解
- log4j在web中的使用
- 牛客网算法学习笔记-智力题
- show slave status \G 分析
- 在两个模态框中保存数据并实现文件上传问题
- [LeetCode198 House Robber]数组中的动态规划求最值问题
- ThreadLocal理解
- Spring+Log4J.xml在web中的使用方法
- redis安装
- git更新和删除文件代码
- JAVA反射机制
- 忽来灵感,谈谈对java的理解
- 做一个程序媛
- OpenCV自学笔记1:Pycharm + OpenCV3 + Python3 配置记录
- Web基础之Cookie对象与Session对象(二)
- linux编译安装rabbitmq-c & 编译PHP扩展amqp