log4j是用于将日志文件输出到指定地方的开源jar包
由三个组件构成:
logger 核心构件,日志级别限定,日志输出
appender 日志输出目的位置
layout 日志输出形式
第一步:
编写一个配置文件 log4j.properties
#define a logger named HelloLogger
#log4j.logger.HelloLogger=INFO,console,file
log4j.logger.HelloLogger=INFO,console,file
##APPENDERS##
#define an appender named console,which is set to be a ConsoleAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
#define an appender named file,which is set to be a RollingFileAppender
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=d:/HelloLogger/log.txt
##LAYOUT##
#assign a SimpleLayout to console appender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
#assign a PatternLayout to file appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%t %p -%m%n
注:logger的实例对象是 HelloLogger
第二步: 编写一个初始化配置的servelet LogServlet
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;
public class LogServlet extends HttpServlet {
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
}
public void init() throws ServletException {
//获取配置文件的完整路径
String path = getServletContext().getRealPath("/");
String profile = path +getInitParameter("profile");
//配置Log4j环境
PropertyConfigurator.configure(profile);
}
}
第三步: 配置 web.xml
<servlet>
<servlet-name>Log4j</servlet-name>
<servlet-class>LogServlet</servlet-class>
<init-param>
<param-name>profile</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</init-param>
<!--load-on-startup 表示此servlet启动的顺序,此列是servlet中第一个启动的-->
<load-on-startup>1</load-on-startup>
</servlet>
第四步:写jsp验证
<%
Logger helloLogger = Logger.getLogger("HelloLogger");
helloLogger.debug("This is a debug level log message from the "+helloLogger.getName());
helloLogger.info("This is a info level log message from the "+helloLogger.getName());
helloLogger.warn("This is a warn level log message from the "+helloLogger.getName());
helloLogger.error("This is a error level log message from the "+helloLogger.getName());
helloLogger.fatal("This is a fatal level log message from the "+helloLogger.getName());
%>
注: 1.配置文件 log4j.properties中log4j.appender.file.layout.ConversionPattern的参数含义如下:
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
分享到:
相关推荐
4. **通过web.xml配置Log4j** - 在web.xml中,我们可以使用`<context-param>`标签来指定Log4j配置文件的位置,例如: ```xml <param-name>log4jConfigLocation <param-value>/WEB-INF/classes/log4j....
本文将详细介绍两种常见的 Log4j 配置方式:Tomcat 级别的统一日志管理和每个 web 应用分别配置 Log4j,并着重介绍第二种方法的具体步骤。 #### 一、Tomcat 级别的统一日志管理 这种方法适用于希望对整个 Tomcat ...
最后,为了使Spring与log4j集成,我们需要在`web.xml`(对于Web应用)或`context.xml`(对于非Web应用)中引入log4j的初始化参数,确保在应用启动时加载log4j配置: ```xml <param-name>log4jConfigLocation ...
### Log4j.properties配置详解 #### 一、Log4j配置文件基本概念 Log4j是一种广泛应用于Java应用程序的日志框架,它可以帮助开发者轻松管理应用程序的日志记录过程。Log4j支持多种配置方式,其中.properties文件...
配置Log4j2** 在Web项目中,Log4j2的配置通常放在`WEB-INF/classes`目录下的`log4j2.xml`或`log4j2.json`文件中。以下是一个简单的`log4j2.xml`配置示例: ```xml [%t] %-5level %logger{36} - %msg%n"/> ...
总的来说,正确配置log4j对于WebSphere V5环境下的应用监控和问题排查至关重要。同时,结合iBATIS的SQL日志输出,可以帮助开发人员更有效地管理和维护其应用程序。在实际操作中,根据具体需求调整log4j的配置,可以...
### Log4j中配置日志文件相对路径方法详解 #### 概述 在软件开发过程中,日志记录是一项重要的功能,它有助于开发者调试程序、监控应用程序的运行状态以及追踪问题。`Log4j`作为一款优秀的日志管理工具,被广泛应用...
这个 Servlet 的作用是在应用启动时读取配置文件并初始化 Log4j。具体步骤如下: ```java package ttzl.log.web; import javax.servlet.http.HttpServlet; import org.apache.log4j.PropertyConfigurator; public...
2. **配置Log4j2**:Tomcat 9允许你在`$CATALINA_BASE/conf`目录下创建`log4j2.xml`文件来定制日志配置。`tomcat9-log4j2.xml`应该包含了如下内容: ```xml [%t] %-5level %logger{36} - %msg%n"/> ...
在SSH(Struts、Spring、Hibernate)等Java Web框架中,配置Log4j以使用相对路径是非常常见的需求,这有助于在不同环境下保持日志文件的一致性。以下是关于Log4j相对路径配置的详细说明: 首先,在`Web.xml`文件中...
在Web应用中,如使用的是Servlet环境,可以通过在`web.xml`中配置`ContextLoaderListener`来加载Log4j配置,同时,我们还可以创建一个Servlet,当接收到特定请求时,更新Log4j配置。 ```xml <!-- web.xml 示例 --> ...
`log4j.properties` 文件位于应用的 `WEB-INF` 目录下,它是 Log4j 的核心配置文件。下面是一个简单的示例: ```properties # 设置根 logger 的级别和 Appender log4j.rootLogger=INFO, A1, R # 定义 ...
在J2EE应用中,尤其是在Tomcat这样的Servlet容器中使用Log4j,通常需要在Web应用的`web.xml`配置文件中指定日志初始化参数。这可以通过在`web.xml`中添加一个`context-param`元素来实现,将Log4j的配置文件路径作为...
### Tomcat 6 配置 Log4j 步骤详解 #### 一、引言 在 Java Web 开发中,日志记录对于调试程序、跟踪错误以及系统维护来说至关重要。Log4j 是一个开放源代码的日志记录工具,它允许开发者自定义日志输出格式、输出...
4. 在应用服务器中配置Log4J,例如在Tomcat中通过`WEB-INF/classes/log4j.properties`或`WEB-INF/classes/log4j.xml`文件。 通过以上配置,你可以根据需求定制日志系统,满足不同级别的信息记录、不同的输出目的地...
### SSH框架中配置log4j的方法详解 #### 一、引言 在现代软件开发过程中,日志记录是一项至关重要的任务。它不仅有助于开发者更好地理解应用程序的行为,还能够在出现异常时快速定位问题所在。Log4j作为一款强大的...
- 通过修改log4j.properties文件即可实现在运行时调整日志级别和策略的功能,而无需重启Web应用。 - 这种功能的实现依赖于Spring框架的支持,具体做法是在`web.xml`文件中指定log4j配置文件的位置: ```xml ...
JBOSS log4j 配置 Log4j 是一个功能强大且灵活的日志记录工具,广泛应用于 Java 项目中。然而,在 JBOSS 服务器中使用 Log4j 时,可能会遇到一些冲突和配置问题。本文将详细介绍如何解决 JBOSS 和 Log4j 的冲突,...
Log4j 是一款功能强大的日志记录工具,广泛应用于 Java 应用程序中。它可以帮助开发人员调试和分析程序,记录程序的运行情况,并提供了灵活的配置方式来控制日志的输出。 Log4j 的概念 Log4j 中有三个主要的组件:...
- **配置Log4j**:创建一个名为`log4j.properties`或`log4j.xml`的配置文件,定义日志级别(DEBUG、INFO、WARN、ERROR、FATAL)、输出目的地及格式。例如,你可以设置INFO及以上级别的日志写入文件,DEBUG级别日志...