以DailyRollingFileAppender 为例:假设每天一个日志文件
有以下设置:
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=app.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t] - %m%n
经过自己测试,无法找到app.log文件
如要将日志文件保存在 :根目录/web-info/logs/下,个人有以下4种解决方案:
1 绝对路径
log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log
但这种写法灵活性很差
以下3中使用相同的设置原理: jvm的环境变量
2:spring的Log4jConfigListener
通过以下配置
- <context-param>
- <param-name>webAppRootKey</param-name>
- <param-value>webApp.root</param-value>
- </context-param>
- <context-param>
- <param-name>log4jConfigLocation</param-name>
- <param-value>classpath:log4j.properties</param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
- </listener>
log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log
备注:
1、spring配置变了webAppRootKey是不能变的,值可以随意写。
2、log文件存放在tomcat工程目录/webapp(工程名称)/WEB-INF/logs/app.log文件。
2:使用已有jvm变量:
例如:
log4j.appender.logfile.File=${user.home}/logs/app.log
日志将位于:例如windows:C:\Documents and Settings\joe\logs\app.log
3 自己设置目录,也就是在项目启动时通过System.setProperty设置,通过实现ServletContextListener来解决:例如
- public class log4jlistener implements ServletContextListener {
- public static final String log4jdirkey = "log4jdir";
- public void contextDestroyed(ServletContextEvent servletcontextevent) {
- System.getProperties().remove(log4jdirkey);
- }
- public void contextInitialized(ServletContextEvent servletcontextevent) {
- String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
- //System.out.println("log4jdir:"+log4jdir);
- System.setProperty(log4jdirkey, log4jdir);
- }
- }
web.xml配置:
- <listener>
- <listener-class>com.log4j.log4jlistener</listener-class>
- </listener>
log4j.prtperties 配置:
log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log 来解决。
相关推荐
通过合理配置Log4j的日志文件存放位置,可以有效地管理日志信息,便于问题定位和系统监控。 需要注意的是,在配置日志文件存放位置的时候,需要考虑到安全性和日志文件的管理策略,避免日志文件过大导致磁盘空间...
在 SSM 整合项目中,需要在 web.xml 文件中指定 Log4j 配置文件的位置,以便 Spring 可以加载 Log4j 配置文件。下面是一个基本的 web.xml 配置: ``` <listener-class>org.springframework.web.util.Log4...
本文将深入探讨如何利用`log4j`实现按照日期每天写入不同日志文件的功能,以及涉及到的相关知识点。 首先,我们要理解`log4j.properties`配置文件的作用。它是`log4j`的配置中心,通过这个文件我们可以定制日志输出...
在不同的操作系统如 Linux、Mac 和 Windows 上,设置 Log4j 的日志文件存放位置是非常重要的,因为它可以帮助我们更好地组织和查找日志信息。下面我们将详细介绍如何设置这些系统的通用存放位置。 首先,我们需要...
Log4j的核心配置主要包括记录器(Logger)、存放器(Appender)和布局(Layout)。通过这些配置,我们可以自定义日志的级别、输出方式及格式等细节。 ##### 2.1 记录器(Logger) 记录器负责定义日志信息的级别。...
### 教你更简单的使用log4j日志 在日常的软件开发过程中,日志记录是必不可少的一个环节,它能够帮助我们追踪程序运行时的状态、定位问题所在,并且为后期维护提供重要的参考依据。Log4j作为Apache组织下的一个开源...
关于配置文件的名称以及在项目中的存放位置 log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为".xml",".json"或者".jsn". 系统选择配置文件的优先级(从先到后)如下...
* `org.apache.log4j.DailyRollingFileAppender`:每天产生一个日志文件 * `org.apache.log4j.RollingFileAppender`:文件大小到达指定尺寸的时候产生一个新的文件 * `org.apache.log4j.WriterAppender`:将日志信息...
3. **统一的配置文件管理**:`log4j.properties`文件可以与其他配置文件一起存放在`/WEB-INF/`目录下,避免了因配置文件存放位置不当而导致的问题。 #### 三、配置Log4j的具体步骤 接下来,我们将详细介绍如何在...
Log4j的设计目标是提供一个灵活且可扩展的系统,允许开发者通过配置文件调整日志输出格式、存储位置以及处理方式。 二、Log4j配置文件——log4j.properties `log4j.properties`是Log4j的配置文件,通常放置在项目...
Log4j的配置主要通过属性文件完成,通常命名为`log4j.properties`,存放在项目的`classes`目录下。 ##### 属性文件结构与内容 - **日志级别设定**:Log4j支持自定义日志的最低输出级别,如`log4j.rootLogger=INFO`...
本工程即基于`log4cplus`,实现了将日志文件按照特定规则分目录存储的功能。 **1. log4cplus介绍** `log4cplus`是一个轻量级的日志框架,它提供了一套API,使得开发者可以方便地在代码中插入日志语句,同时控制日志...
- `lib/`:存放Log4j的库文件(JARs),这些库文件是Log4j的核心组件和其他依赖库。 - `docs/`:包含文档,如API参考、用户指南等,帮助开发者理解和使用Log4j。 - `conf/`:可能包含示例配置文件,如`log4j2.xml`或...
- 通过修改log4j.properties文件即可实现在运行时调整日志级别和策略的功能,而无需重启Web应用。 - 这种功能的实现依赖于Spring框架的支持,具体做法是在`web.xml`文件中指定log4j配置文件的位置: ```xml ...
使用Log4j 2.1时,你需要在项目中引入这些库,并创建合适的配置文件来指定日志级别、输出格式、目标位置等。同时,通过在代码中调用`Logger`类的方法,如`Logger.info()`、`Logger.error()`,就可以记录日志信息了。...
- 除了基本的日志级别控制外,Log4J还允许使用Filter来进一步过滤日志信息,以及使用TriggeringPolicy和RollingPolicy来控制日志文件的滚动和清理策略。 7. **性能优化**: - 为了提高性能,Log4J允许在运行时...
`FileWatchdog`是`log4j`中的一个特殊类,用于监控日志文件的变化,当检测到日志文件达到预设的大小时,会自动滚动日志,确保日志系统不会因为单个文件过大而停止工作。 **标签:“源码 工具”** 这里的“源码”...
6. **插件支持**:Kettle支持第三方日志框架,如log4j,允许更灵活的日志管理和配置。 学习这些日志记录知识可以帮助我们更好地管理和优化Kettle的工作流程,及时发现并解决问题。通过分析日志,我们可以了解Job和...