`

Spring mvc中log4j的配置与使用

 
阅读更多

 

Spring mvc中log4j的配置与使用
如果使用spring插件创建一个spring template project,它会默认带log4j,只要改下log4j的配置就可以使用了,如果自己创建的project,就要加载下log4f的包了,使用步骤如下

 

1.pom.xml加入log4j的依赖包

 

  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

  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.   
  5.     <!-- Appenders -->  
  6.     <appender name="console" class="org.apache.log4j.ConsoleAppender">  
  7.         <param name="Target" value="System.out" />  
  8.         <layout class="org.apache.log4j.PatternLayout">  
  9.             <param name="ConversionPattern" value="%d [%t] %-5p: %c - %m%n" />  
  10.         </layout>  
  11.     </appender>  
  12.       
  13.     <appender name="file" class="org.apache.log4j.DailyRollingFileAppender">  
  14.       <param name="File" value="${log.dir}/com.xxx.account.log"/>  
  15.       <param name="Append" value="true"/>  
  16.       <param name="DatePattern" value=".yyyy-MM-dd" />  
  17.       <layout class="org.apache.log4j.PatternLayout">  
  18.           <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>  
  19.       </layout>  
  20.    </appender>  
  21.      
  22.    <appender name="account-error" class="org.apache.log4j.FileAppender">  
  23.       <param name="File" value="${log.dir}/account-error.log"/>  
  24.       <param name="Append" value="true"/>  
  25.       <layout class="org.apache.log4j.PatternLayout">  
  26.           <param name="ConversionPattern" value="%d|[%t]|%-5p|%c| - %m%n"/>  
  27.       </layout>  
  28.    </appender>  
  29.       
  30.     <!-- Application Loggers -->  
  31.     <logger name="com.xxx.account">  
  32.         <level value="info" />  
  33.     </logger>  
  34.       
  35.     <logger name="com.xxx.account-error">  
  36.         <level value="error" />  
  37.         <appender-ref ref="${log.appender}" />  
  38.         <appender-ref ref="account-error" />  
  39.     </logger>  
  40.       
  41.   
  42.     <!-- Root Logger -->  
  43.     <root>  
  44.         <level value="info"></level>  
  45.         <appender-ref ref="${log.appender}" />  
  46.     </root>  
  47.   
  48.       
  49. </log4j:configuration>  

log4j.xml中定义了3个appender,就是log输出的位置,一个是控制台,两个是文件,但有一个文件account-error.log是专用于收集特殊错误的文件,可以定义多个分别为不同的场景使用,log4j的相关定义如下:

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

 

3.在controller中使用log4j

 

  1. private static final Logger logger = LoggerFactory.getLogger("com.xxx.account-error");  
  2.   
  3. logger.error("test log");  


这样就记录了一条log到了account-error.log中,同时也写了一条log到公用的log文件com.xxx.account.log中,如果只想写到公用log文件中,在log初始化的时候使用class的名称即可

  1. private static final Logger logger = LoggerFactory.getLogger("xxx.class");  

xxx就是当前class的名称

分享到:
评论

相关推荐

    Spring MVC 框架 整合log4j

    3. **在Spring MVC中使用Log4j**:在Spring MVC的Controller或其他需要记录日志的类中,引入`org.apache.log4j.Logger`,并创建一个实例。例如: ```java import org.apache.log4j.Logger; public class ...

    spring mvc log4j

    4. **在 Spring MVC 中使用 Log4j** - 首先,需要在 Spring 配置文件中引入 Log4j 的依赖,例如使用 `PropertyPlaceholderConfigurer` 加载 `log4j.properties` 文件。 - 接着,在 Spring MVC 控制器、服务类或...

    spring-mvc-log4j

    3. **在Spring MVC中使用Log4j**: - 在Spring MVC的Controller或其他组件中,你可以通过引入`org.apache.log4j.Logger`并获取实例来记录日志: ```java private static final Logger logger = Logger.getLogger...

    springmvc log4j 配置 demo

    3. **在Spring MVC中使用Log4j**:在Spring MVC的Controller或其他类中,通过导入`org.apache.log4j.Logger`并实例化,我们可以记录日志。例如: ```java import org.apache.log4j.Logger; public class ...

    SSM整合中的Log4j日志的配置详情

    这个配置引入了 Log4j 依赖项,以便在项目中使用 Log4j。 五、 Log4j 的输出级别和输出目的地 Log4j 的输出级别和输出目的地是配置 Log4j 的两个重要方面。输出级别定义了日志信息的严重程度,而输出目的地定义了...

    springmvc5+hibernate5+junit4+log4j2整合实例

    在本整合实例中,我们将探讨如何将Spring MVC 5、Hibernate 5、JUnit 4 和 Log4j2 集成在一起,以构建一个高效、可测试和日志记录完善的Java Web应用程序。以下是对这些技术及其整合过程的详细说明: **Spring MVC ...

    spring框架和log4j日志用到的jar包

    使用Spring时,开发者还需要注意与其他Java库的兼容性,例如JDBC驱动、ORM框架(如Hibernate、MyBatis)的jar包,以及用于日志记录的log4j.jar、log4j-api.jar和log4j-core.jar。在实际项目中,这些jar包通常会被...

    项目配置文件( spring-mvc.xml spring-mybatis.xml web.xml log4j.properties)

    这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...

    spring mvc +mysql+log4j+aop

    综上,这个项目涵盖了Spring MVC作为web应用的核心框架,利用MySQL存储和处理数据,Log4j实现日志记录,AOP增强Controller的功能,DRUID作为高效的数据库连接池,以及对旧版浏览器的兼容性处理。对于初学者来说,这...

    spring+spring mvc+mybatis案例整合.docx

    本案例还演示了如何使用 Lombok 依赖项来简化 JavaBean 的开发,并使用 Log4j 依赖项来记录应用程序的日志信息。通过本案例,我们可以学习如何使用 Spring、Spring MVC 和 MyBatis 框架来开发一个基于 Java 的 Web ...

    spring mvc jar包

    10. `com.springsource.org.apache.commons.logging-1.1.1.jar`:Apache Commons Logging 库,是一个日志抽象层,允许开发者选择不同的日志实现,如 Log4j 或 JDK 内建的日志。 以上这些库构成了 Spring MVC 开发的...

    spring mvc定时任务需要的所有jar包,包括slf4j、log4j

    引入`slf4j-api.jar`是第一步,它包含了SLF4J的API接口,然后还需要一个具体的日志实现,如`slf4j-log4j12.jar`,它桥接了SLF4J与Log4j。 `log4j`是Apache组织的一个开源项目,提供了一种灵活且强大的日志记录机制...

    spring mvc项目

    spring mvc maven项目,导入IDEA后无报错,需要在IDEA中...该项目使用servlet3.0规范,无web.xml,无spring.xml等配置文件,所有的配置均通过Java Config、注解搞定,项目中还集成了log4j2技术,以及前端html文件等。

    Spring MVC项目中log4J和AOP使用详解

    在Spring MVC项目中,我们通常会创建一个log4j.properties或log4j.xml配置文件,来定义日志输出的格式、目的地(控制台、文件、邮件等)以及不同级别的日志过滤规则。 在项目中,我们可能需要在多个Service层的方法...

    spring+springMVC+mybatis+log4j框架整合

    1. 引入相关jar包:添加Spring、SpringMVC、Mybatis和log4j的依赖库到项目中。 2. 配置Spring:创建ApplicationContext.xml,定义Bean的配置。 3. 集成SpringMVC:配置web.xml,设置DispatcherServlet,定义servlet-...

    spring mvc_08

    在本项目"spring mvc_08"中,我们探讨了如何将Spring MVC与MyBatis集成,并结合Log4j进行日志管理。这个演示应用旨在帮助开发者理解这些技术的协同工作方式,以便在实际开发中高效构建Web应用程序。 首先,Spring ...

    spring jar 包 _ log4j-1.2.17.jar_commons-logging.jar

    在这个压缩包中,`lib`文件夹很可能包含了除log4j和commons-logging之外的其他Spring框架所需的jar包,比如Spring的核心模块、Spring MVC、Spring AOP、Spring JDBC等。开发者在搭建Spring环境时,需要将这些库添加...

    Spring Mvc AOP通过注解方式拦截controller等实现日志管理

    Spring MVC AOP日志管理通常与日志框架(如Log4j、Logback或Java内置的java.util.logging)集成。以下以Log4j为例: 1. 引入依赖:在项目pom.xml中添加Log4j的依赖。 2. 配置Log4j:创建log4j.properties或log4j....

    ssh中log4j的使用

    **在SSH框架中使用Log4j** 1. **导入Log4j API**:在需要使用Log4j的类中,首先需要导入对应的API。通常我们会使用`org.apache.log4j.Logger`。 ```java import org.apache.log4j.Logger; ``` 2. **获取Logger...

    SSM整合配置文件、spring-mvc.xml、spring-mybatis.xml、spring.xml、config.properties、log4j.p

    config.properties:数据库配置文件 log4j.properties:mybatis日志文件 spring-mvc.xml:spring-MVC配置文件 spring-mybatis.xml:mybatis的配置文件 spring.xml

Global site tag (gtag.js) - Google Analytics