`

Log4J通用配置|注意问题 笔记

阅读更多

关于日志的等级 那些去 百度就知道了!
这几天 要搭个新框架  配置了 日志 记下来 !做个备忘!

Java代码 复制代码
  1.  #这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!   
  2. log4j.rootLogger=INFO,allLog   
  3.   
  4. # DAO层 log记录到dao.log 控制台 和 总日志文件   
  5. log4j.logger.DAO=INFO,dao,Console,allLog      
  6.        
  7. # 业务层 log记录到service.log   控制台 和 总日志文件   
  8. log4j.logger.SERVICE=INFO,service,Console,allLog   
  9.   
  10. # 测试 及 日常日志打印  log记录到 common.log   控制台 和 总日志文件   
  11. log4j.logger.COMMON=INFO,common,Console,allLog   
  12.   
  13.   
  14.     
  15. log4j.appender.Console=org.apache.log4j.ConsoleAppender   
  16. log4j.appender.Console.layout=org.apache.log4j.PatternLayout   
  17. log4j.appender.Console.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n   
  18.   
  19.     
  20. log4j.appender.service=org.apache.log4j.DailyRollingFileAppender   
  21. log4j.appender.service.file=${project.root}/WEB-INF/log/service.txt   
  22. log4j.appender.service.DatePattern='.'yyyy-MM-dd   
  23. log4j.appender.service.layout=org.apache.log4j.PatternLayout   
  24. log4j.appender.service.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n   
  25.   
  26.     
  27. log4j.appender.allLog=org.apache.log4j.DailyRollingFileAppender   
  28. log4j.appender.allLog.file=${project.root}/WEB-INF/log/allLog.txt   
  29. log4j.appender.allLog.DatePattern='.'yyyy-MM-dd   
  30. log4j.appender.allLog.layout=org.apache.log4j.PatternLayout   
  31. log4j.appender.allLog.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n   
  32.   
  33.     
  34. log4j.appender.dao=org.apache.log4j.DailyRollingFileAppender   
  35. log4j.appender.dao.file=${project.root}/WEB-INF/log/dao.txt   
  36. log4j.appender.dao.DatePattern='.'yyyy-MM-dd   
  37. log4j.appender.dao.layout=org.apache.log4j.PatternLayout   
  38. log4j.appender.dao.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n   
  39.   
  40. log4j.appender.common=org.apache.log4j.DailyRollingFileAppender   
  41. log4j.appender.common.file=${project.root}/WEB-INF/log/common.txt   
  42. log4j.appender.common.DatePattern='.'yyyy-MM-dd   
  43. log4j.appender.common.layout=org.apache.log4j.PatternLayout   
  44. log4j.appender.common.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n   
  45.   
  46.   
  47.    
 #这里定义能显示到的最低级别,若定义到INFO级别,则看不到DEBUG级别的信息了~!
log4j.rootLogger=INFO,allLog

# DAO层 log记录到dao.log 控制台 和 总日志文件
log4j.logger.DAO=INFO,dao,Console,allLog   
    
# 业务层 log记录到service.log   控制台 和 总日志文件
log4j.logger.SERVICE=INFO,service,Console,allLog

# 测试 及 日常日志打印  log记录到 common.log   控制台 和 总日志文件
log4j.logger.COMMON=INFO,common,Console,allLog


 
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n

 
log4j.appender.service=org.apache.log4j.DailyRollingFileAppender
log4j.appender.service.file=${project.root}/WEB-INF/log/service.txt
log4j.appender.service.DatePattern='.'yyyy-MM-dd
log4j.appender.service.layout=org.apache.log4j.PatternLayout
log4j.appender.service.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n

 
log4j.appender.allLog=org.apache.log4j.DailyRollingFileAppender
log4j.appender.allLog.file=${project.root}/WEB-INF/log/allLog.txt
log4j.appender.allLog.DatePattern='.'yyyy-MM-dd
log4j.appender.allLog.layout=org.apache.log4j.PatternLayout
log4j.appender.allLog.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n

 
log4j.appender.dao=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dao.file=${project.root}/WEB-INF/log/dao.txt
log4j.appender.dao.DatePattern='.'yyyy-MM-dd
log4j.appender.dao.layout=org.apache.log4j.PatternLayout
log4j.appender.dao.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n

log4j.appender.common=org.apache.log4j.DailyRollingFileAppender
log4j.appender.common.file=${project.root}/WEB-INF/log/common.txt
log4j.appender.common.DatePattern='.'yyyy-MM-dd
log4j.appender.common.layout=org.apache.log4j.PatternLayout
log4j.appender.common.layout.ConversionPattern=%d %p - %C{1}.%M(%L) - %m%n


 




Log4J配置后, log4j:ERROR setFile(null,true) call failed. 报错:java.io.FileNotFoundException: \log\mytest2.log (系统找不到指定的路径。) 收藏
是log4j.properties与tomcat的log4j重名的原因

你把/WEB-INF/classes/log4j.properties的log4j配置文件改个名字就OK了!(如:log.properties)

因为在tomcat启动是默认去找log4j.properties,但此时Listener还没有起来,tomcat就要往\WEB-INF\logs\log4j.log 写日志就找不到了
相关spring log4j的资料


web.xml 配置如下

Java代码 复制代码
  1. <context-param>    
  2.         <param-name>webAppRootKey</param-name>   
  3.         <param-value>project.root</param-value>   
  4.     </context-param>   
  5.     <context-param>   
  6.         <param-name>log4jConfigLocation</param-name>   
  7.         <param-value>classpath:log.properties</param-value>   
  8.     </context-param>   
  9.     <context-param>   
  10.         <param-name>log4jRefreshInterval</param-name>   
  11.         <param-value>6000</param-value>   
  12.     </context-param>     
  13.    <context-param>   
  14.         <param-name>contextConfigLocation</param-name>   
  15.         <param-value>classpath:applicationContext.xml</param-value>   
  16.    </context-param>   
  17.   
  18.     <listener>     
  19.        <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class>   
  20.     </listener>  
<context-param> 
		<param-name>webAppRootKey</param-name>
		<param-value>project.root</param-value>
	</context-param>
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>classpath:log.properties</param-value>
	</context-param>
	<context-param>
		<param-name>log4jRefreshInterval</param-name>
		<param-value>6000</param-value>
	</context-param>	
   <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext.xml</param-value>
   </context-param>

	<listener>  
	   <listener-class> org.springframework.web.util.Log4jConfigListener </listener-class>
	</listener>




没什么好说的! 日志这东西 拿过去 能用就行了! 没什么会不会!

分享到:
评论

相关推荐

    SpringDM笔记6-Fragment及配置Log4j Fragment Bundle

    在本文中,我们将深入探讨Spring DM(现在称为Spring OSGi)中的Fragment Bundle以及如何配置Log4j在Fragment Bundle中的应用。Spring DM是Spring框架在OSGi(Open Service Gateway Initiative)环境下的扩展,它...

    Log4j笔记.doc

    - **概述**:Log4j可以通过XML配置文件来定制配置细节,这种方式非常灵活。 - **配置Appender和Layout**:在XML文件中可以定义多个Appender,并指定它们使用的Layout。 - **示例**:下面是一个简单的XML配置示例...

    *Log4j 学习笔记

    Logger 是 Log4j 中的主要接口,它提供了多种级别(Level)的日志输出方法,例如 `debug()`, `info()`, `warn()`, `error()` 和 `fatal()`,以及一个通用的 `log()` 方法。这些方法接受一个消息对象和可选的异常...

    MyBatis-Plus 学习笔记.pdf

    * 创建 log4j 配置文件 * 创建 db.properties 文件 * 创建 spring 配置文件 第二节:增删改查 * 新增测试 * 修改测试 * 查询测试 * 删除测试 第三节:运行原理 * EmployeeMapper 的本质 * MapperProxy 中 * ...

    OCP042课程笔记

    此外,还提到了如何管理和访问ISQL*Plus,包括启动、停止和登录命令,以及如何在OC4J中添加用户并赋予webdba权限。 综上所述,OCP042课程笔记全面覆盖了Oracle数据库的基础知识,从架构到安装,再到实例和数据库的...

    spring学习笔记

    介绍了Log4j的使用方法,并提供了一个案例来演示如何使用Log4j记录日志。 七、Spring注解配置 描述了组件扫描功能和使用方法,以及注入注解标记和AOP注解标记的使用方法。 八、Spring对数据访问技术的支持 讲解了...

    学习笔记hibernate所需jar包.rar

    Hibernate使用`slf4j-api.jar`和`slf4j-log4j12.jar`(或其他的SLF4J绑定)进行日志记录。SLF4J是一个简单易用的日志门面,可以方便地切换不同的日志实现。 8. **其他辅助库**: 还有一些其他的辅助库,如`...

    jpa学习笔记

    - `Slf4j-log4j12.jar`:另一种日志记录支持。 #### 三、JPA 配置文件 JPA 规范要求在类路径的 `META-INF` 目录下放置名为 `persistence.xml` 的配置文件。下面是配置文件的一个示例模板: ```xml xmlns:xsi=...

    hibenater笔记.pdf

    3. **创建Hibernate配置文件**:在项目的src目录下创建`hibernate.cfg.xml`文件,并且为了方便调试,通常还会加入log4j的日志配置文件。 4. **定义实体类**:定义代表数据库表的Java类,这些类称为实体类。 5. **...

    SpringMVC重点笔记

    - 引入必要的依赖库,如Spring WebMVC、JUnit测试库、日志框架(SLF4J + Log4j)、JSTL和Servlet/JSP API。 - 配置Tomcat插件,指定端口和上下文路径。 ##### 配置文件 - 在`/WEB-INF`目录下创建SpringMVC的配置...

    Java Web 实习笔记(二) jar包1

    通过使用Commons Logging,开发者可以轻松地选择如Log4j、Java内置日志(java.util.logging)或其他日志系统。在Java Web应用中,良好的日志记录可以帮助开发者追踪错误,调试问题,提升系统的可维护性。 这些jar包...

    apache commons笔记1

    18. **Logging**:提供了一个可插拔的日志框架,允许开发者选择不同的日志实现,如 Log4j 或 JDK 自带的日志。 Apache Commons 的这些组件都是 Java 开发中的得力助手,它们各自专注于特定的领域,通过这些工具,...

    Spark及pyspark的操作应用.pdf

    默认情况下,Spark使用log4j配置。可以通过重命名`log4j.properties.template`为`log4j.properties`并编辑其内容来定制日志级别。 六、PySpark编程基础 在PySpark程序中,首先需要创建`SparkConf`和`SparkContext`...

    activiti笔记1

    此外,日志工具如Log4j可用于监控框架执行的SQL语句。 【Activiti核心Service对象】 - RepositoryService: 用于操作流程定义和静态资源。 - RuntimeService: 用于处理流程实例,如启动、查询和结束流程实例。 - ...

    Hibernate新手上路

    6. `commons-logging-1.0.4.jar`:通用的日志接口,Hibernate可以通过它来使用不同的日志实现,如log4j。 7. `dom4j-1.6.1.jar`:XML处理库,用于读取、写入和操作XML文档。 8. `ehcache-1.1.jar`:EhCache是一个...

    dev code for study

    它提供了一个接口,可以透明地使用各种日志框架,如log4j、java.util.logging等。在学习Java开发时,了解和使用这样的通用日志库是重要的一步,因为良好的日志记录有助于排查问题和理解程序运行状态。 2. **start...

    如何将微服务注册到Eureka注册中心(笔记)

    同时,为了连接数据库,还需要添加MySQL驱动、Druid连接池、MyBatis-Spring-Boot-Starter、JUnit以及日志库如Log4j。 接下来,创建子模块`cloud-api-commons`,这里存放通用的实体类、接口等。例如,创建一个`...

    在Android开发板跑一个LED驱动的历程(个人笔记)

    以下是一个简单的LED驱动程序示例,它使用GPIO(通用输入/输出)来控制LED的状态: ```c #include #include #include #include #include #include #include // ... 其他定义 ... static int leds_open...

Global site tag (gtag.js) - Google Analytics