Spring MVC中添加log4j日志,及用slf4j做扩展

来源:互联网 发布:淘宝店铺什么是c店 编辑:程序博客网 时间:2024/05/10 00:23

添加log4j日志

web.xml

<context-param>           <param-name>log4jConfigLocation</param-name>           <param-value>/WEB-INF/log4j.xml</param-value>         </context-param><listener>      <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener>

/WEB-INF/log4j.xml

//配置输入日志到终端<appender name="console" class="org.apache.log4j.ConsoleAppender">     <param name="encoding" value="GBK" />     <param name="target" value="System.out" />     <layout class="org.apache.log4j.PatternLayout">       <param name="ConversionPattern" value="%d Cost:%r Class:%-40.40c{3} Type: %-5p Content:%m %n" />     </layout>       <filter class="org.apache.log4j.varia.LevelRangeFilter">           <param name="levelMin" value="debug" />           <param name="levelMax" value="warn" />           <param name="AcceptOnMatch" value="true" />     </filter>    </appender>//配置输入日志到文件  //公共类型      <appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">       <param name="File" value="${webapp.root}/logs/common-default.log" />      <param name="Append" value="true" />       <param name="encoding" value="GBK" />       <param name="threshold" value="all" />      <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />       <layout class="org.apache.log4j.PatternLayout">      <param name="ConversionPattern" value="%d Cost:%r Class:%-40.40c{3} Type: %-5p Content:%m %n" />       </layout>     </appender> //Debug类型 <appender name="DEBUG-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">       <param name="File" value="${webapp.root}/logs/controller/debug-log.log" />       <param name="Append" value="true" />       <param name="encoding" value="GBK" />     <param name="threshold" value="debug" />        <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />       <layout class="org.apache.log4j.PatternLayout">          <param name="ConversionPattern" value="%d Cost:%r Class:%-40.40c{3} Type: %-5p Content:%m %n" />       </layout>     </appender> //创建logger<!-- controllers指定的是包名,这样只操作此包下的log --> <logger name="controllers" additivity="true">        <level value="DEBUG"></level>      <appender-ref ref="DEBUG-APPENDER" />   </logger> <!-- 所有logger的父类,记录所有的日志。 --> <root>        <level value="ALL"></level>       <appender-ref ref="DEFAULT-APPENDER" />       <appender-ref ref="console"/> </root>  

controllers包下创建logger

//直接使用log4j创建loggerimport org.apache.log4j.Logger;public class DisplayController {    private static Logger logger =Logger.getLogger(DisplayController.class);    public void test()    {        logger.debug("debug");        logger.warn("warn");        logger.error("error");    }//使用slf4j创建logger,目的是为了兼容,当更改log4j为其他类型的log类时,不用更改类中涉及logger的部分。import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class DisplayController {    private static Logger logger =LoggerFactory.getLogger(DisplayController.class);    public void test()    {        logger.debug("debug");        logger.warn("warn");        logger.error("error");    }

为了使slf4j支持log4j需要添加slf4j-log4j12-xxx.jar

    <dependency>        <groupId>log4j</groupId>        <artifactId>log4j</artifactId>    <version>1.2.17</version>    </dependency>    <dependency>        <groupId>org.slf4j</groupId>        <artifactId>slf4j-log4j12</artifactId>    <version>1.7.6</version>    <dependency>        <groupId>org.slf4j</groupId>        <artifactId>slf4j-api</artifactId>        <version>1.7.6</version>    </dependency>

参考:
1 为什么要使用SLF4J而不是Log4J http://www.importnew.com/7450.html
2 springmvc+log4j操作日志记录,详细配置 http://www.cnblogs.com/v-weiwang/p/4814050.html

1 0
原创粉丝点击