一、自己写一个servlet,初始化log4j的相关配置信息
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;
public class Log4jInitServlet extends HttpServlet {
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
}
public void init() throws ServletException {
System.setProperty("webappRoot", getServletContext().getRealPath("/"));
PropertyConfigurator.configure(getServletContext().getRealPath("/") + getInitParameter("log4jConfigLocation"));
}
}
修改web.xml文件,让tomcat启动你app的时候自动加载刚才这个servlet:
Xml代码
<!-- initialize log4j --> <servlet> <servlet-name>log4j config file</servlet-name> <servlet-class>com.keepc.util.Log4jInitServlet</servlet-class> <init-param> <param-name>configfile</param-name> <param-value>/WEB-INF/classes/log4j.properties</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
二、通过Spring方式加载
<!--由Sprng载入的Log4j配置文件位置 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.properties</param-value> </context-param> <!-- 每隔60秒检测一下Lo4j配置文件 --> <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.properties:
log4j.rootLogger=INFO, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # log4j.appender.stdout.layout.ConversionPattern=%p [%t] %C.%M(%L) | %m%n log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%-5p] (%C{2},%L) - %m%n log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File=${catalina.home}/logs/ATS.logs log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n # Druid log4j.logger.druid.sql=INFO,stdout,R log4j.logger.druid.sql.DataSource=INFO,stdout,R log4j.logger.druid.sql.Connection=INFO,stdout,R log4j.logger.druid.sql.Statement=INFO,stdout,R log4j.logger.druid.sql.ResultSet=INFO,stdout,R log4j.logger.com.opensymphony.xwork2=WARN #log4j.logger.org.apache.struts2=DEBUG log4j.logger.org.apache.struts2.convention=DEBUG log4j.logger.org.springframework=INFO log4j.logger.com.ibatis.db=INFO log4j.logger.com.ibatis=INFO log4j.logger.java.sql.Connection=INFO log4j.logger.java.sql.Statement=INFO log4j.logger.java.sql.PreparedStatement=INFO log4j.logger.java.sql.ResultSet=INFO
相关推荐
在Web开发中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,调试错误,以及优化性能。Log4j是Apache组织提供的一款广泛使用的Java日志框架,以其灵活性和可配置性著称。本篇文章将深入探讨如何在...
- 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j.properties ``` - 接着,使用`...
本Demo旨在展示如何在Web项目中集成和使用Log4j2。 **1. 安装与配置** 首先,你需要在你的Maven或Gradle项目中添加Log4j2的依赖。对于Maven,可以在`pom.xml`文件中添加以下依赖: ```xml <groupId>org.apache....
在使用 Apache Tomcat 作为服务器时,合理配置日志框架(如 Log4j)能够极大地提高开发效率和系统的可维护性。本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,...
最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...
在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml <!-- web.xml 示例 --> ...
- **配置 web.xml**:在应用的 `web.xml` 文件中添加以下配置,以便在启动时加载 Log4j: ```xml <listener-class>com.apache.jakarta.log4j.Log4jInit</listener-class> ``` 其中 `<init-param>` 用于指定...
然后,"Log4jDemo.rar"可能是一个简单的Java控制台应用示例,演示了如何在非web环境中使用Log4j。在控制台应用中,Log4j的配置和使用方式与web应用基本一致,但无需考虑web容器的影响。开发者可以直接在main方法中...
在Spring Boot项目中,可以使用SLF4J作为日志门面,通过Log4j2实现日志记录。首先需要在项目中排除Spring Boot默认的日志实现(即spring-boot-starter-logging),然后添加Log4j2的依赖。具体操作如下: 1. 在pom....
在代码中使用Log4j 在Java代码中,通过以下方式获取并使用logger: ```java import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass.class); ...
5. **自定义Servlet初始化Log4j**:创建一个自定义的Servlet,如`Log4jInit`,在`init()`方法中使用`PropertyConfigurator.configure()`来加载`log4j.properties`配置。 #### 总结 通过以上步骤,我们可以在Java...
要在Web应用中使用Log4j,需要在Servlet容器启动时加载配置文件。下面是一个简单的Servlet示例,展示了如何在Servlet的`init()`方法中初始化Log4j: ```java public class InitServlet extends HttpServlet { ...
1. **引入 log4j 库**:首先需要在项目中添加 log4j 的 JAR 包(例如 `log4j-xxx.jar`)。 2. **配置 log4j**: - 配置文件可以是 `log4j.properties` 或 `log4j.xml`,通常放在项目的根目录或类路径下。 - 可以...
Log4j2 支持日志分离,即在一个应用程序中使用多个独立的日志记录配置: - **Separate ClassLoaders**:使用不同的类加载器隔离日志配置。 - **Separate Contexts**:每个配置使用独立的 LoggerContext。 #### 15....
本示例中使用的是 `log4j-1.2.8.jar` 这个版本。将其复制到项目中的 `WEB-INF\lib` 目录下。这一步是将 Log4j 库集成到项目中的第一步,确保项目可以正确引用 Log4j 的类。 ##### 2. 创建初始化 Servlet 接下来,...
4. **在 Spring MVC 中使用 Log4j** - 首先,需要在 Spring 配置文件中引入 Log4j 的依赖,例如使用 `PropertyPlaceholderConfigurer` 加载 `log4j.properties` 文件。 - 接着,在 Spring MVC 控制器、服务类或...
为了在Tomcat中使用这个配置,你需要将`log4j.properties`文件放在`$CATALINA_HOME/conf`目录下。同时,确保Tomcat启动脚本(`catalina.sh`或`catalina.bat`)包含以下行来加载Log4j配置: ```bash -Dlog4j....
完成上述配置后,即可在具体的Java类中使用Log4j记录日志。 ```java import org.apache.log4j.Logger; public class Example { private static final Logger logger = Logger.getLogger(Example.class); ...
至于WSAD(WebSphere Application Developer)5.1配置log4j的步骤,可以通过编辑服务器的类加载器配置,将log4j的相关JAR文件添加到服务器的类路径,并确保`log4j.properties`文件在正确的位置。`WSAD5.1配置log4j....
Log4j是Apache软件基金会开发的一个Java日志记录框架,广泛应用于各种Java应用程序中,包括企业级应用、服务器和Web应用程序。它为开发者提供了一种灵活且强大的方式来记录应用程序运行时的事件,如错误、警告、调试...