对WEB应用程序来说,可以用一个特殊的servlet来初始化Log4j的配置
1.log4j初始化的servlet(Log4jInit.java)
package com.sk.zhouf;
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;
public class Log4jInit extends HttpServlet {
public void init() {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
if(file != null){
PropertyConfigurator.configure(prefix+file);
}
}
}
2.配置log4j的配置文件,我们用一个简单的配置文件(log4j.properties)
log4j.rootLogger=ERROR, console
log4j.logger.sk=DEBUG,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
3.配置web.xml
<servlet>
<servlet-name>Log4jInit</servlet-name>
<servlet-class>com.sk.zhouf.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
说明一下:<load-on-startup>1</load-on-startup>必须的加上,当Tomcat服务器启动部署这个应用程序时,Log4jInit Servlet即被加载,从而完成对Log4j环境的配置
4.一个简单的servlet例子
package com.sk.zhouf;
import java.io.IOException;
import java.io.PrintWriter;
import org.apache.log4j.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SimpleHello extends HttpServlet {
static Logger logger = Logger.getLogger("sk");
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
logger.debug("hello benben");
out.print("Hello World!");
out.close();
logger.info("close");
}
}
输出结果截图:
分享到:
相关推荐
- 在log4j配置文件中,我们已经定义了日志输出到文件,如`/var/log/app.log`。`DailyRollingFileAppender`会根据日期每天创建新的日志文件,避免单个文件过大。 6. **使用Log4j** - 在Java代码中,通过`Logger....
### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...
在J2EE应用中,尤其是在Tomcat这样的Servlet容器中使用Log4j,通常需要在Web应用的`web.xml`配置文件中指定日志初始化参数。这可以通过在`web.xml`中添加一个`context-param`元素来实现,将Log4j的配置文件路径作为...
为了使配置生效,我们需要在`web.xml`中添加如下配置,让Spring容器加载log4j配置: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j.properties</param-value> <!-- 指定log4j...
1. **配置文件**:在Log4j中,通常通过配置文件(通常是log4j.properties或log4j.xml)来设置日志的行为。对于文件日志,我们需要配置一个FileAppender,指定日志文件的路径和文件名。例如: ``` log4j.appender....
1. **动态调整日志级别**:通过修改`log4j.properties`文件中的配置,可以在不重启Web应用的情况下调整日志级别和策略。这对于生产环境中的调试尤为重要,因为它允许开发者根据实际需求灵活地调整日志记录的详细程度...
要在Web应用中使用Log4j,需要在Servlet容器启动时加载配置文件。下面是一个简单的Servlet示例,展示了如何在Servlet的`init()`方法中初始化Log4j: ```java public class InitServlet extends HttpServlet { ...
在J2EE环境中使用Log4j时,可以通过Servlet容器的初始化参数来指定日志配置文件的位置。这种方式非常适合在Web应用中集成Log4j。 ```java import java.io.IOException; import javax.servlet.ServletException; ...
- **log4j-web**: 如果在Web应用中使用Log4j,此包提供了Servlet容器的支持。 ### 使用示例 在Java代码中,我们可以通过以下方式使用Log4j: ```java import org.apache.log4j.Logger; public class MyClass { ...
3. `log4j-web-2.14.0.jar`(如果适用): 用于在Web应用环境中,如Tomcat中,提供Servlet容器的集成。 4. `configurations`: 可能包含示例或默认的配置文件,如`log4j2.xml`或`log4j2.json`,这些文件定义了日志行为...
在项目中,我们需要修改Spring Boot的默认配置,指定使用Log4j2,并在项目的配置文件中(如`log4j2.xml`或`log4j2.json`)定义日志级别、输出格式和目标位置。 在项目中,"springBootMybatis"这个压缩包文件可能...
Log4j2 支持日志分离,即在一个应用程序中使用多个独立的日志记录配置: - **Separate ClassLoaders**:使用不同的类加载器隔离日志配置。 - **Separate Contexts**:每个配置使用独立的 LoggerContext。 #### 15....
"log4j-web.jar"则是专门为Web应用设计的,它支持在Servlet容器中部署并使用Log4j,确保了Web应用的日志管理。 "apache-log4j-2.0.2-bin"压缩包包含了Log4j 2.0.2版本的二进制文件,这通常包括配置文件、库文件、...
在web应用中,通常会将Log4j配置文件(log4j.properties或log4j.xml)放在类路径下,以便在web容器启动时自动加载。通过在代码中创建Logger实例,开发者可以方便地记录请求处理、数据库操作等各种日志信息。 然后,...
3. **配置Log4j**:在配置文件中,你可以指定日志输出的appender(输出目的地),如控制台、文件、网络等,以及日志的layout(输出格式)。例如: ```properties log4j.rootLogger=DEBUG, Console, File log4j....
在Spring框架中,可以通过Spring的Log4j配置来统一管理日志,方便调试和问题排查。 在提供的文件名称列表中,虽然没有具体的jar包名称,但通常Spring框架所需的jar包包括:spring-core、spring-context、spring-...
5. **log4j-jakarta-web**:面向Jakarta EE(前身为Java EE)的Web应用程序,这个模块确保了在Web环境下的日志记录无缝集成。新版本可能加强了与最新Jakarta EE规范的兼容性。 6. **log4j-1.2-api**:为兼容旧版本...
4. **log4j-web.jar**: 如果在Web应用环境中使用Log4j,需要此jar包来提供Servlet环境的支持,例如处理Servlet容器中的初始化参数。 5. **slf4j-api.jar**: Simple Logging Facade for Java (SLF4J) 是一个用于各种...
在使用Log4j与数据库结合管理日志前,首先需要正确配置DBCP。以下是一系列关键步骤: 1. **准备mysql的JDBC驱动程序**:JDBC(Java Database Connectivity)是Java中用来连接数据库的标准接口,而JDBC驱动程序则是...
3. 替换Tomcat的JULI配置:在`$CATALINA_BASE/conf/logging.properties`文件中,将日志处理器指向Log4j适配器,例如: ``` org.apache.juli.ClassLoaderLogManager.className = org.apache.log4j.Manager org....