很简单,我喜欢将Log跟着webRoot走,这样随便你项目移到哪,都可以直接运行,不要再运行这运行那。
思路是写一个初始化log4j的servlet。
public class Log4jInit extends HttpServlet { static Logger logger = Logger.getLogger(Log4jInit.class); public Log4jInit() { } public void init(ServletConfig config) throws ServletException { String prefix = config.getServletContext().getRealPath("/"); String file = config.getInitParameter("log4j"); String filePath = prefix + file; Properties props = new Properties(); try { FileInputStream istream = new FileInputStream(filePath); props.load(istream); istream.close(); //toPrint(props.getProperty("log4j.appender.file.File")); String logFile = prefix + props.getProperty("log4j.appender.file.File");//设置路径 props.setProperty("log4j.appender.file.File",logFile); PropertyConfigurator.configure(props);//装入log4j配置信息 } catch (IOException e) { toPrint("Could not read configuration file [" + filePath + "]."); toPrint("Ignoring configuration file [" + filePath + "]."); return; } } public static void toPrint(String content) { System.out.println(content); } }
refurl:http://sharep.blog.51cto.com/539048/143734
http://ziqiang0501.iteye.com/blog/280755 ,有spring的配置,具体如下:
由于spring也会加载log4j.properties,如果加载不到就往控制台打log信息,总觉得有些碍眼,于是想办法去掉。Spring提供了一个Log4jConfigListener,本身就能通过web.xml中配置来指定位置加载log4j配置文件和log输出路径,注意该listener需要放在spring的Listener之前。
事实上,Log4jConfigListener更适合log4j在web工程中使用,原因如下:
1. 动态的改变记录级别和策略,不需要重启Web应用,如《Effective Enterprise Java》所说。
2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。
因为 系统把web目录的路径压入一个叫webapp.root的系统变量。这样写log文件路径时不用写绝对路径了.
log4j.appender.logfile.File=${webapp.root}/WEB-INF/logs/myfuse.log
3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ ,而不是Class-Path。
4.log4jRefreshInterval为60000表示 开一条watchdog线程每60秒扫描一下配置文件的变化;
在web.xml 添加
<context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
相关推荐
### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...
在本文中,我们将深入探讨如何配置log4j,以便将日志信息输出到项目中的特定文件夹。 首先,我们需要创建一个`log4j.properties`或`log4j.xml`配置文件,这个文件通常放在项目的`src/main/resources`目录下。在这个...
这个“log4j简单范例 日志文件是相对路径的”示例将展示如何配置Log4j来记录日志,并将日志文件保存在程序运行时的相对路径下。 首先,Log4j的核心组件包括Logger(日志器)、Appender(输出目的地)和Layout(格式...
在`log4j.properties`中,可能会定义多个Appender,比如将日志输出到控制台(ConsoleAppender)和文件(FileAppender)。 3. **Layouts**: Layout定义了日志信息的格式。常见的Layout有PatternLayout,可以自定义...
Log4j作为Apache下的一个开源项目,是Java应用中最常用的日志框架之一,它提供了灵活的日志级别配置、丰富的输出格式以及多样的日志输出目的地选择,如控制台、文件等。 ### Log4j配置详解 #### 步骤一:配置log4j...
前者将日志输出到文件,后者将日志输出到控制台。 2. `log4j.appender.ServerDailyRollingFile.File=${webApp.root}/WEB-INF/logs/sysout.log` 这里使用了之前在`Web.xml`中定义的`webApp.root`属性,指定日志文件...
本篇将详细探讨log4j日志文件jar包及其在IT领域的应用。 **1. Log4j简介** Log4j是一个开源的日志记录工具,最初由Ceki Gülcü于2001年设计并发布。它的设计理念是提供一个灵活、高性能的日志系统,允许开发者调整...
这意味着在程序启动时,你需要通过`System.setProperty("WORKDIR", "实际路径")`来设置`WORKDIR`的值,这样Log4j就会将日志文件输出到指定的路径下。在JSP中,你可以通过`pageContext.getServletContext()....
1. Log4j 1.2.6:这是Log4j的一个较早版本,提供了基本的日志记录功能,包括定义不同级别的日志(如DEBUG、INFO、WARN、ERROR和FATAL),以及通过配置文件自定义日志输出格式和目的地(如控制台、文件、SMTP等)。...
1. 将`log4j-1.2.15.jar`和`tomcat-juli-adapters.jar`添加到Tomcat的`lib`目录下,确保Tomcat可以访问这两个库。 2. 配置Log4j:创建一个`log4j.properties`或`log4j.xml`配置文件,指定日志输出的位置、格式和级别...
例如,在配置文件中指定的日志文件路径`log4j.appender.logfile.File=set up in web.xml`,这里的“set up in web.xml”实际上是指在`web.xml`中指定的日志文件路径,而这个路径也是相对于项目的根目录。 #### 总结...
这个压缩包包含的两个关键文件——`log4j-api-2.11.1.jar`和`log4j-core-2.11.1.jar`是Log4j2框架的核心组件。 1. **log4j-api-2.11.1.jar**:这个文件提供了Log4j2的API接口。开发者主要通过这些接口来与Log4j2...
配置文件`log4j.xml`中的内容展示了如何定义日志输出的方式。这里有两个appender,一个`CONSOLE`用于控制台输出,另一个`FILE`用于将日志记录到文件。`CONSOLE`使用`ConsoleAppender`,而`FILE`使用`...
在标题“log4j实例,log4j-1.2.9.jar”中,我们看到的是Log4j的一个具体版本——1.2.9。这个版本虽然相对较旧,但它仍然是许多现有项目的基础,因为它稳定且功能齐全。 **1. Log4j的核心组件** Log4j由三个主要...
Appender是Log4j的输出目标,如ConsoleAppender将日志输出到控制台,FileAppender则写入文件。开发者可以通过配置文件选择和配置多个Appender,实现日志的多渠道输出。 7. **性能和可扩展性** 由于其高度的可配置...
在Log4j中,通常通过配置文件(如log4j.properties或log4j.xml)来设定日志行为。配置文件中可以定义Loggers、Appenders、Levels和Layouts。例如: ```properties # 配置控制台输出 log4j.appender.stdout=org....
本篇将详细介绍如何配置log4j日志文件,特别是在JSP项目中的应用。 首先,我们要理解日志的级别。Log4j支持多个日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL。这些级别按照严重程度递增,DEBUG是最详细的信息,...
- 将log4j.properties文件放置在项目的`bin/`目录下,并通过相对路径或者系统资源的方式加载配置文件。 - 如果文件放置在`bin/`目录下的更深层次子目录中,则需要确保路径正确无误。 #### 三、log4j格式详解 - *...
### Log4j基本配置详解 #### 一、Log4j简介 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件还是其他地方,还可以控制每一条日志的输出格式;通过定义每一条日志信息...
- **易于上手:** 尽管功能强大,但log4j的使用相对简单,适合快速集成到现有项目中。 - **审计工具:** log4j不仅可以用于开发过程中的调试,还可以作为审计工具记录系统运行状态。 #### 三、Log4j的三大核心组件 ...