`
long5534
  • 浏览: 53036 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

log4j.properties配置生成log文件路径问题

阅读更多
log4j.appender.file.File=hibernate.log
那么hibernate.log这个文件会很“聪明地”创建到Tomcat的启动目录上,如果我希望它在\WEB-INF\下面安家,就要这样写:
log4j.appender.file.File=c:\tomcat41\webapps\mysite\WEB-INF\hibernate.log
但是如果我要把它打包发布到虚拟主机上,那里的linux系统要求我把这行写成:
log4j.appender.file.File=/user/mysite.com/WEB-INF/hibernate.log
有没有个好办法让这个日志文件不要到处乱跑,就固定在WEB-INF这个相对路径下?



方法一:
可以在web.xml中写
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.kevin.myapp.common.servlet.Log4JInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>/WEB-INF/config/log4j.properties</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

---------------------------------------

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.PropertyConfigurator;

public class Log4JInit extends HttpServlet{

public void init(){
String prifix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
if(file != null){
Properties prop = new Properties();
try{
prop.load(new FileInputStream(prifix+file));
prop.setProperty("log4j.appender.R.File",
prifix + prop.getProperty("log4j.appender.R.File"));
PropertyConfigurator.configure(prop);
}catch(IOException e){
e.printStackTrace();
}
}
}

public void doGet(HttpServletRequest request,HttpServletResponse response){
}

}


方法二:
它放到tomcat的logs目录下就可以了
log4j.appender.R.File=../logs/log4j.log

方法三:
可以在system的变量里面增加 webroot等变量
然后再log4j.properties里面

log4j.appender.R.File=${webroot}/logs/log4j.log
分享到:
评论

相关推荐

    log4j使用jar包和log4j.properties配置文件

    - `log4j.appender.R`配置了文件输出,使用`DailyRollingFileAppender`,每天生成一个新的日志文件,同样设置了输出格式。 ### 4. 日志级别与使用 Log4j提供了多种日志级别,从低到高依次是:TRACE、DEBUG、INFO、...

    Log4j.properties配置详解

    Log4j 是一个广泛使用的...正确配置Log4j.properties文件能够帮助开发者更好地管理和监控应用程序的运行状态,通过调整日志级别和输出方式,可以在开发、测试和生产环境中获得合适的日志信息,从而提升问题排查效率。

    log4j配置实例(含配log4j.properties及jar包)

    本教程将深入探讨如何配置和使用Log4j,包括`log4j.properties`配置文件的编写以及相应的Java代码示例。 1. **Log4j的核心组件** - **Logger**: 日志记录器,用于生成日志事件。 - **Appender**: 输出目标,负责...

    log4j(二):动态配置日志输出路径

    上述配置中,`log4j.appender.FILE.File`指定了日志文件的路径,`${user.home}/logs/myapp.log`表示日志将被写入用户主目录下的logs文件夹中的myapp.log文件。通过改变这个路径,我们就能动态地改变日志输出的位置。...

    log4j.properties详细配置解释与例子

    `log4j.properties`是Apache Log4j库中用于配置日志记录行为的核心配置文件。下面将详细解析`log4j.properties`的配置项及其作用,同时提供实例来加深理解。 ### 1. Logger 日志记录的核心是`Logger`,它是Log4j中...

    log4j 写多个日志文件,按照日期每天都记

    首先,我们要理解`log4j.properties`配置文件的作用。它是`log4j`的配置中心,通过这个文件我们可以定制日志输出的级别、格式、目标位置等。在这个场景下,我们关注的重点是如何设置多个日志文件并按日期切换。 1. ...

    log4j-1.2.16.jar与slf4j-api-1.6.1.jar加个转换包和log4j.properties示例

    3. 创建或提供一个`log4j.properties`文件,并将其配置为项目所需的日志行为。 4. 在代码中使用SLF4J API进行日志记录,如:`org.slf4j.Logger`和`org.slf4j.LoggerFactory`。 最后,对于"版本组合"的文件,这可能...

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    首先,我们需要创建一个`log4j.properties`或`log4j.xml`配置文件,这个文件通常放在项目的`src/main/resources`目录下。在这个配置文件中,我们将定义日志的输出级别、布局模式以及输出目的地。 以下是一个基本的`...

    log4j.properties参数详解word

    log4j作为一款强大的日志框架,其配置文件log4j.properties提供了丰富的参数设置,使得日志输出可定制化。本文将详细解析log4j.properties中的各项参数,以帮助开发者更好地理解和使用。 首先,我们要了解日志输出...

    log4j的jar包和配置文件

    Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件完成。以下是一个简单的`log4j.properties`配置示例: ```properties # 设置root logger级别为INFO,并将输出到console log4j.rootLogger=INFO, ...

    log4j.jar和commons-logging.jar

    配置日志文件时,你需要在项目中包含这两个JAR文件,并创建一个log4j的配置文件(通常是log4j.properties或log4j.xml)。配置文件中,你可以指定日志级别、输出目的地、日志格式等。例如,以下是一个简单的`log4j....

    java log4j统一打印在user.dir目录下(windows、linux通用、不用考虑不同操作系统分隔符不一致的情况)

    本教程将详细解释如何配置Log4j,使其在不同操作系统环境下(Windows和Linux)都能统一将日志打印到`user.dir`目录下,避免因路径分隔符差异带来的问题。 首先,了解`user.dir`系统属性。在Java中,`user.dir`代表...

    log4j.zip和log4j.jar日志文档的处理

    7. **Configuration(配置)**:Log4j的配置通常在`log4j.properties`或`log4j.xml`文件中进行,可以动态地改变日志行为。 压缩包内的`log4j.jar`文件是Log4j的二进制库,包含了所有Log4j的类和方法,你需要将它...

    tomcat下的log4j日志配置

    2. **配置全局 Log4j 属性文件**:在任意位置创建 `log4j.properties` 文件,并设置全局的日志级别、输出格式及存储路径等。通常会将该文件放置在 Tomcat 的 `conf` 目录下。 ```properties log4j.rootLogger=...

    log4j.properties参数详解pdf

    `log4j.properties` 是 Apache Log4j 库中用于配置日志记录行为的文件。它允许开发者和系统管理员精细地控制应用程序的日志输出,包括输出的目标(如控制台、文件等)、输出的格式以及输出的等级。本文档将详细解释 ...

    日志按照指定数量生成

    1. **配置Logger**:在Log4j中,可以通过XML或 properties 文件进行配置。例如,我们可以创建一个名为`log4j.properties`的配置文件,设置日志记录级别,如`DEBUG`、`INFO`、`WARN`、`ERROR`和`FATAL`。下面是一个...

    Spring的log4j以及配置文件

    在Java开发领域,Spring框架是不可或缺的一部分,它提供了一个全面的编程和配置模型...通过合理配置`log4j.properties`文件,开发者可以有效地监控系统状态,及时发现并解决问题,同时避免过多的日志输出影响系统性能。

    Log4jToRollingFileAppender.zip

    使用`RollingFileAppender`首先需要在`log4j.properties`或`log4j.xml`配置文件中进行设置。例如: ``` log4j.appender.RFA=org.apache.log4j.DailyRollingFileAppender log4j.appender.RFA.File=/path/to/log...

    log4j 动态配置

    示例代码中使用的路径为`System.getProperty("user.dir") + "/webconfig/log4j.properties"`,这表示从当前工作目录下的`webconfig`文件夹中读取`log4j.properties`文件。 3. **日志输出路径** `log4j.properties...

Global site tag (gtag.js) - Google Analytics