SpirngMVC 配置 Log4j

之前在日志中一直看不到用户请求路径的日志。原来SpringMVC中Log4j的配置方式有些不同

如果使用spring插件创建一个spring template project,它会默认带log4j,只要改下log4j的配置就可以使用了,如果自己创建的project,就要加载下log4f的包了,使用步骤如下 
1.pom.xml加入log4j的依赖包

Java代码  

  1. <!-- Logging -->
  2. <dependency>
  3. <groupId>org.slf4j</groupId>
  4. <artifactId>slf4j-api</artifactId>
  5. <version>1.6.6</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.slf4j</groupId>
  9. <artifactId>jcl-over-slf4j</artifactId>
  10. <version>1.6.6</version>
  11. <scope>runtime</scope>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.slf4j</groupId>
  15. <artifactId>slf4j-log4j12</artifactId>
  16. <version>1.6.6</version>
  17. <scope>runtime</scope>
  18. </dependency>

2.在src/main/resources下创建log4j.xml

Java代码  

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
  3. <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
  4. <!-- [控制台STDOUT] -->
  5. <appender name="console" class="org.apache.log4j.ConsoleAppender">
  6. <param name="encoding" value="GBK" />
  7. <param name="target" value="System.out" />
  8. <layout class="org.apache.log4j.PatternLayout">
  9. <param name="ConversionPattern" value="%-5p %c{2} - %m%n" />
  10. </layout>
  11. </appender>
  12. <!-- [公共Appender] -->
  13. <appender name="DEFAULT-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
  14. <param name="File" value="${webapp.root}/logs/common-default.log" />
  15. <param name="Append" value="true" />
  16. <param name="encoding" value="GBK" />
  17. <param name="DatePattern" value="‘.‘yyyy-MM-dd‘.log‘" />
  18. <layout class="org.apache.log4j.PatternLayout">
  19. <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
  20. </layout>
  21. </appender>
  22. <!-- [错误日志APPENDER] -->
  23. <appender name="ERROR-APPENDER" class="org.apache.log4j.DailyRollingFileAppender">
  24. <param name="File" value="${webapp.root}/logs/common-error.log" />
  25. <param name="Append" value="true" />
  26. <param name="encoding" value="GBK" />
  27. <param name="threshold" value="error" />
  28. <param name="DatePattern" value="‘.‘yyyy-MM-dd‘.log‘" />
  29. <layout class="org.apache.log4j.PatternLayout">
  30. <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
  31. </layout>
  32. </appender>
  33. <!-- [组件日志APPENDER] -->
  34. <appender name="COMPONENT-APPENDER"
  35. class="org.apache.log4j.DailyRollingFileAppender">
  36. <param name="File" value="${webapp.root}/logs/logistics-component.log" />
  37. <param name="Append" value="true" />
  38. <param name="encoding" value="GBK" />
  39. <param name="DatePattern" value="‘.‘yyyy-MM-dd‘.log‘" />
  40. <layout class="org.apache.log4j.PatternLayout">
  41. <param name="ConversionPattern" value="%d %-5p %c{2} - %m%n" />
  42. </layout>
  43. </appender>
  44. <!-- [组件日志] -->
  45. <logger name="LOGISTICS-COMPONENT">
  46. <level value="${loggingLevel}" />
  47. <appender-ref ref="COMPONENT-APPENDER" />
  48. <appender-ref ref="ERROR-APPENDER" />
  49. </logger>
  50. <!-- Root Logger -->
  51. <root>
  52. <level value="${rootLevel}"></level>
  53. <appender-ref ref="DEFAULT-APPENDER" />
  54. <appender-ref ref="ERROR-APPENDER" />
  55. </root>
  56. </log4j:configuration>

log4j.xml中定义了4个appender,就是log输出的位置,一个是控制台,三个是文件,但有一个文件common-error.log是专用于收集特殊错误的文件,可以定义多个分别为不同的场景使用,log4j的相关定义如下: 
(1). 输出方式appender一般有5种:  
org.apache.log4j.RollingFileAppender(滚动文件,自动记录最新日志)   
org.apache.log4j.ConsoleAppender (控制台)    
org.apache.log4j.FileAppender (文件)   
org.apache.log4j.DailyRollingFileAppender (每天产生一个日志文件)   
org.apache.log4j.WriterAppender (将日志信息以流格式发送到任意指定的地方)   
(2). 日记记录的优先级priority,优先级由高到低分为  
OFF ,FATAL ,ERROR ,WARN ,INFO ,DEBUG ,ALL。   
Log4j建议只使用FATAL ,ERROR ,WARN ,INFO ,DEBUG这五个级别。   
(3). 格式说明layout中的参数都以%开始,后面不同的参数代表不同的格式化信息(参数按字母表顺序列出):   
%c        输出所属类的全名,可在修改为 %d{Num} ,Num类名输出的维(如:"org.apache.elathen.ClassName",%C{2}将输出elathen.ClassName)   
%d       输出日志时间其格式为 %d{yyyy-MM-dd HH:mm:ss,SSS},可指定格式 如 %d{HH:mm:ss}   
%l        输出日志事件发生位置,包括类目名、发生线程,在代码中的行数   
%n       换行符   
%m      输出代码指定信息,如info(“message”),输出message   
%p       输出优先级,即 FATAL ,ERROR 等   
%r        输出从启动到显示该log信息所耗费的毫秒数   
%t        输出产生该日志事件的线程名

3. web.xml中配置log4j 
<!-- 配置加载log4j.xml文件路径 --> 
<context-param> 
  <param-name>log4jConfigLocation</param-name> 
  <param-value>classpath:config/log4j.xml</param-value> 
</context-param>

<!-- 配置log4j.xml变量 --> 
<context-param> 
  <param-name>rootLevel</param-name> 
  <param-value>DEBUG</param-value> 
</context-param>

<context-param> 
  <param-name>loggingLevel</param-name> 
  <param-value>INFO</param-value> 
</context-param>

<!-- 配置log4j.xml监听器 --> 
<listener> 
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> 
</listener>

4. 类使用log4j 
(1)包引入 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
(2)日志常量定义 
/** 组件日志 */ 
private static final Logger        logger = LoggerFactory                                            .getLogger(LoggerNames.LOGISTICS_COMPONENT); 
(3)日志打印 
logger.info("日志打印");

日志输出方式,需要在这里指定,比如想要输出到控制台,就得把控制台的appender-ref加上:

Java代码  

  1. <root>
  2. <level value="${rootLevel}"></level>
  3. <appender-ref ref="DEFAULT-APPENDER" />
  4. <appender-ref ref="ERROR-APPENDER" />
  5. <appender-ref ref="console" />
  6. </root>  

    来源: http://rockelixir.iteye.com/blog/1902352

来自为知笔记(Wiz)

时间: 2024-08-26 04:57:28

SpirngMVC 配置 Log4j的相关文章

配置Log4j(非常具体)

来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,能够创建出Log4J的执行环境. 1. 配置文件Log4J配置文件的基本格式例如以下: #配置根Loggerlog4j.rootLogger  =   [ level ]   ,  appenderNam

Java异常,配置log4j

注意: 1.Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类.Throwable类是Object类的直接子类,Error类和Exception类是Throwable类的两个直接子类. Error  错误类 java.lang.Error 错误类一般是指虚拟机相关的 Exception  异常类 2.java.lang.Exception类是Java中所有异常的直接或间接父类 java中异常处理是通过5个关键字实现的try,ca

ibatis配置log4j输出sql日志信息

为了在开发过程更加直观,我们需要将ibatis日志打开以便观察ibatis运作的细节. ibatis采用Apache common_logging,并结合Apache log4j作为日志输出组件. 在CLASSPATH中新建log4j.properties配置文件,内容如下: log4j.rootLogger=DEBUG,stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layo

eclipse通过maven建立java se工程配置log4j,打包成zip,将jar包和配置文件分开,并以bat和sh文件启动java程序

一.新建maven的java工程 1.eclipse里file-new-other,选择maven Project 2.选中 Use default Workspace location,然后 next 3.选择maven-archetype-quitstart,然后next 4.填入工程信息,然后finish 6.新建好的工程结构如图 7.将test下和java下自动生成的java类删除,右键build-path选择好jdk版本,整个工程就建好了. 二.配置log4j 1.将工程目录调整成下图

eclipse配置log4j在控制台打印的字体颜色

1.安装插件net.mihai-nita.ansicon.plugin: 下载net.mihai-nita.ansicon.plugin.zip,解压得一个plugin目录,复制父目录到eclipse根目录下自建的MyPlugins目录下,如下:                               在eclipse根目录下建立links文件夹,写上插件路径:path=C:\\applications\\eclipse\\MyPlugins\\net.mihai-nita.ansicon.

JBoss5.x下配置Log4j简记

最近在学习JBoss下配置Log4j,JBoss的各个版本的目录.JBoss和Log4j集成的文件名每次都有变化, 在JBoss5.x下配置了log4j.xml文件,但是配置没有生效.如果你在项目中没有指定使用的log4j的配置文件,最好使用JBoss自带的配置文件,文件名为jboss-log4j.xml.该文件在Jboss容器的目录为:${JBOSS_HOME}\server\default\conf下.下面就是基于log4j默认配置的一些基本修改和注释: <span style="fo

SSI框架中配置log4j

事实上主要是log4j配置,跟SSI关系不大. web.xml中加入 <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/localconf/log4j.properties</param-value> </context-param> <context-param> <param-name>log

mybatis配置Log4j带不出日志

使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. log4j.properties log4j.rootLogger=DEBUG,CONSOLE,FILE,A1 log4j.addivity.org.apache=true log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CON

spring配置log4j

1.配置基本的springMVC+hibernate环境.网上有很多这种例子. 2.需要使用log4j,首先就要在web.xml中配置log4j.方法有两种: 1.我们可以自己写一个servlet,服务器启动的时候自动加载,让该servlet加载log4j的配置文件(properties或者xml文件),这种方法百度百科讲log4j有详细说明. 2.加入spring自带的关于log4j的监听器.个人推荐使用第二种方法. 在web.xml文件中的配置为: <!-- Spring的log4j监听器*