对于一个7*24小时运行的web系统来说,有时候因为运行异常需要察看日志,降低日志的输出级别,正常的修改log4j的配置后重启应用,这对很多项目来说都是奢侈。 其实log4j本身就实现了动态刷新log4j的配置文件的功能,现以CABServer为例,说明如何实现log4j配置文件的动态生效。
1. 写一个Log4jLoaderServlet类来控制log4j.xml的动态刷新
public class Log4jLoaderServlet extends ContextLoaderServlet
{
private static final long serialVersionUID = 7733069692001798694L;
public void init() throws ServletException
{
String prefix = getServletContext().getRealPath("/");
String log4jconfig = prefix + getInitParameter("log4jconfig");
if (null != log4jconfig && !"".equals(log4jconfig))
{
DOMConfigurator.configure(log4jconfig);
DOMConfigurator.configureAndWatch(log4jconfig, 1000);
}
}
public void destroy()
{
super.destroy();
}
}
分享到:
相关推荐
下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....
本篇将围绕“log4j配置文件以及配套jar包”进行详细介绍。 首先,我们要了解Log4j的基本结构。Log4j主要由三个部分组成:Logger(日志器)、Appender(输出端)和Layout(布局)。Logger负责记录日志事件,Appender...
每天生成一个log4j日志文件,如果只需要将最近一段时间内的日志文件保留,以前或更早的文件不用保留。例如只保留最近一周的日志,日志文件保留3天等等这些。。。通过这个jar包就可以实现。 log4j.properties文件在...
创建或编辑`log4j.properties`配置文件,将其放在Tomcat的`conf`目录下。以下是一个基础配置示例: ``` log4j.rootLogger=INFO, FILE log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j....
-- 指定log4j配置文件的位置 --> <listener-class>org.springframework.web.util.Log4jConfigListener ``` 完成这些步骤后,当你的应用程序运行时,log4j会根据配置将日志信息输出到指定的文件夹中。这不仅...
本文将详细介绍如何通过修改`log4j.properties`配置文件来解决log4j中的乱码问题。 #### 二、问题背景 在使用log4j时,经常会在控制台或日志文件中看到乱码,尤其是在涉及中文字符的情况下。这通常是由于日志系统...
2. 设置 JVM 参数:在每个服务器的启动命令行中,添加 `-Dlog4j.configuration` 或 `-DLOG4J.CONFIGURATION` 参数,指明该服务器应使用的特定 Log4j 配置文件,例如 `-Dlog4j.configuration=log4jserver1.properties...
首先,我们需要创建一个log4j的配置文件,通常命名为`log4j.properties`。这个文件定义了日志处理的规则。以下是一个基本的配置示例: ```properties # 设置全局日志级别为DEBUG log4j.rootLogger=DEBUG, ...
Log4j2 的配置文件可以是 properties 文件或 YAML 文件,需要将 log4j2.formatMsgNoLookups 设置为 true,以禁用消息查找功能。 例如,在 properties 文件中添加以下配置: ``` #log4j2 log4j2.formatMsgNoLookups=...
1. **通过配置文件**:最常见的方式是通过修改log4j.properties或log4j.xml配置文件。例如,你可以将某个类或整个包的日志级别设置为WARN: ```xml ``` 这种方法虽然简单,但需要重启应用才能生效。 2. **...
这导致log4j配置文件无效,无法输出日志信息。 解决方法非常简单,只需要在import语句中使用org.apache.log4j.Logger,而不是java.util.logging.Logger。例如: ```java import org.apache.log4j.Logger; public ...
2. **配置log4j.properties**:这是log4j的核心配置文件,定义了日志输出的行为,如日志级别、输出目的地(控制台、文件、数据库等)以及格式。`log4j.properties`文件中的内容可以如下所示: ``` log4j.root...
2. **创建Log4j配置文件**: 创建一个名为`log4j.properties`的文件,该文件将定义日志的行为。示例配置文件内容如下: ``` log4j.rootLogger=DEBUG, FILE log4j.appender.FILE=org.apache.log4j....
1. **配置文件**:Log4j的配置通常通过一个名为`log4j.properties`或`log4j.xml`的文件进行。在这个例子中,我们假设使用`log4j.properties`,其中关键配置可能是这样的: ```properties # 设置根logger级别 log4j....
Log4j 2.11.0引入了自动重加载配置的特性,使得在运行时修改配置文件无需重启应用即可生效。 4. **日志器与日志事件** 日志器是用户与Log4j交互的主要接口,通过Logger接口创建并管理日志事件。日志事件则封装了...
本案例主要探讨的是如何通过Log4j配置,使其在特定错误级别发生时自动发送电子邮件通知,帮助开发者及时了解并处理问题。 首先,我们需要理解Log4j的核心组件和工作原理。Log4j包括Appender(输出端)、Layout...
3. 配置Log4j2:创建Log4j2的配置文件,通常命名为log4j2.xml或log4j2.json。配置内容包括Appender(输出目的地)、Layout(输出格式)、Filter(过滤规则)和Root Logger(默认日志级别)等。 4. 更新代码引用:...
这可以通过修改Tomcat的配置文件并引入Log4j的jar包来实现。 下面是具体的操作步骤和配置方法: 1. 创建log4j.properties文件:首先,需要在$CATALINA_BASE/lib目录下创建一个名为log4j.properties的文件。这个...
Log4j的核心配置文件通常是`log4j.properties`或`log4j.xml`,它们定义了日志的输出方式、目的地和格式。例如,可以设置日志输出到控制台、文件,甚至是网络服务器。通过配置,可以指定不同的日志级别对不同类或包...
2. **配置日志**:创建一个Log4j配置文件(如log4j2.xml),定义logger、appender、layout和filter。 3. **初始化Log4j**:在应用程序启动时加载配置文件,初始化Log4j。 4. **编写日志代码**:使用Logger类的debug...