`
oscar999
  • 浏览: 216781 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

log4j在web中的使用

 
阅读更多

在Web应用中一般使用一个专门的Servlet来完成Log4J的配置,并保证在web.xml的配置中,这个Servlet位于

其它Servlet之前,以便在Servlet和jsp中调用。下面是这个servlet,代码如下:
import org.apache.log4j.*;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Log4jInit extends HttpServlet {
public void init() {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j");//配置文件位置
if(file != null) {
PropertyConfigurator.configure(prefix+file);
}
}

}

此servlet在web.xml中配置:
</web-app>
...........
servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>example.Log4jInit</servlet-class>
<init-param>
<param-name>log4j</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
...........
</web-app>

用来配置log4J的属性文件:
log4j.rootLogger=debug, A1 , R
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=log4j.log
log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
这个配置文件指定了两个输出源A1和R。前者把日志信息输出到控制台,后者是一个轮转日志文件。最大的文

件是100KB,当一个日志文件达到最大尺寸时,Log4J会自动把example.log重命名为example.log.1,然后重建

一个新的 example.log文件,依次轮转。

测试文件test.jsp:
<%@ page contentType="text/html; charset=GB2312" %>
<%@ page import="org.apache.log4j.*" %>
<%
Logger logger = Logger.getLogger("test.jsp");
logger.debug("befor test");
%>
<h1>This is login test</h1>
<% logger.info("after test");%>

PatternLayout的格式

%r 自程序开始后消耗的毫秒数
%t 表示日志记录请求生成的线程
%p 表示日志语句的优先级别
%c 日志信息所在的类名
%m%n 表示日志信息的内容
%r 自应用启动到输出该log信息耗费的毫秒数
%d 日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。


Spring 中log4j配置
<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.appender.R.File=${webapp.root}/logs/chengchuang.log
分享到:
评论

相关推荐

    log4j与web.xml的配置

    - 在web.xml中,我们可以使用`&lt;context-param&gt;`标签来指定Log4j配置文件的位置,例如: ```xml &lt;param-name&gt;log4jConfigLocation &lt;param-value&gt;/WEB-INF/classes/log4j.properties ``` - 接着,使用`...

    log4j 在web中的应用

    在采用Spring框架的Web项目中,log4j的使用变得更加便捷高效。Spring提供了一系列的机制来简化log4j的配置和管理,主要包括: 1. **动态更改日志级别和策略**: - 通过修改log4j.properties文件即可实现在运行时...

    Web项目中使用Log4j实例

    本篇文章将深入探讨如何在Web项目中集成并使用Log4j,以便更好地管理和分析应用的日志。 首先,Log4j主要由三部分组成:配置文件(log4j.properties或log4j.xml)、日志记录器(Logger)和日志输出格式(Appender)...

    log4j.jar各个版本

    log4j-web-2.0.2-sources.jar, log4j-web-2.0.2.jar, log4j-wjw.jar, log4j-xml-1.3alpha-7.jar, log4j.jar, org.apache.log4j_1.2.15.v201005080500.jar, org.apache.log4j_1.2.15.v201012070815.jar

    老生常谈Log4j和Log4j2的区别(推荐)

    Log4j想要生效,我们需要在web.xml中进行配置,以告诉工程去哪加载log4j的配置文件和定义一个扫描器。相比之下,Log4j2就比较简单,我们只需要把log4j2.xml文件放到工程的resource目录下就行了。 Log调用 Log4j和...

    SSM整合中的Log4j日志的配置详情

    这个配置引入了 Log4j 依赖项,以便在项目中使用 Log4j。 五、 Log4j 的输出级别和输出目的地 Log4j 的输出级别和输出目的地是配置 Log4j 的两个重要方面。输出级别定义了日志信息的严重程度,而输出目的地定义了...

    Log4j2 web demo (log4j2 version 2.1)

    本Demo旨在展示如何在Web项目中集成和使用Log4j2。 **1. 安装与配置** 首先,你需要在你的Maven或Gradle项目中添加Log4j2的依赖。对于Maven,可以在`pom.xml`文件中添加以下依赖: ```xml &lt;groupId&gt;org.apache....

    logging-log4j2-log4j-2.15.0-rc2.zip maven 资源库

    针对Log4j 2 远程代码执行漏洞,需要用到的升级资源包,适用于maven资源库,包括log4j,log4j-core,log4j-api,log4j-1.2-api,log4j-jpa等全套2.15.0 maven资源库jar包。如果是maven本地仓库使用,需要将zip包解压...

    log4j-web-2.11.2.jar

    log4j-web-2.11.2.jar

    log4j-2.17.1的jar包,导入即可使用

    3. **导入使用**:在Java项目中使用Log4j非常简单,只需要将`log4j-2.17.1.jar`文件添加到项目的类路径(Classpath)中。对于Maven或Gradle项目,可以在依赖管理中添加相应的依赖条目。 4. **配置文件**:Log4j 的...

    log4j-2.18.0

    由于很多大型企业和服务都在其基础设施中使用log4j2,这个漏洞的暴露无疑对全球网络安全构成了严重威胁。 面对这样的危机,Apache官方迅速行动,发布了log4j2的2.18.0版本,作为紧急修复措施。这个新版本包含了关键...

    Log4j2、Fastjson、Log4j的BurpSuite插件亲测有效

    使用这个BurpSuite插件,可以有效地帮助安全从业者在目标系统中识别出Log4j、Log4j2和Fastjson的使用,并评估是否存在安全风险。无论是老版还是新版的BurpSuite,该插件都能兼容,这意味着它具有良好的兼容性和实用...

    log4j-web的jar包

    jar包,2.0版本,现在对应的jar包最新的应该是2.4.1,可以在apach的官网下载

    log4j.properties(完整版) log4j.properties(精简版)

    在完整版的`log4j.properties`中,通常包含以下内容: - **全局日志级别设置**:`log4j.rootLogger=DEBUG, stdout, FILE`,其中`DEBUG`是日志级别,`stdout`和`FILE`是Appender的名称。 - **定义Appender**:例如`...

    Log4j在web和控制台应用程序的使用

    然后,"Log4jDemo.rar"可能是一个简单的Java控制台应用示例,演示了如何在非web环境中使用Log4j。在控制台应用中,Log4j的配置和使用方式与web应用基本一致,但无需考虑web容器的影响。开发者可以直接在main方法中...

    apache-log4j-2.17.0 核心jar包

    Log4j 是一个日志记录框架,Log4j 2 是对 Log4j 的升级,提供了重大改进,超越其前身 Log4j 1.x,并提供...Log4j 团队已获悉一个安全漏洞 CVE-2021-45105,该漏洞已在 Java 8 及更高版本的 Log4j 2.17.0 中得到解决。

    log4j所依赖jar包

    总的来说,这个压缩包为Java开发者提供了一个方便的集合,包含了运行Log4j所需的所有依赖,使得他们能够在项目中轻松地引入和使用Log4j进行日志管理。在实际操作中,开发者还需要理解Log4j的配置和使用方法,以充分...

    log4j2.17.2

    对于使用Java和Log4j2的开发者和管理员来说,升级到log4j2.17.2是必须且紧迫的任务。为了确保无缝升级,需要按照以下步骤操作: 1. 下载log4j2.17.2的jar包,替换现有项目中的旧版本。 2. 更新配置文件,确保新的...

    log4j2所需jar包

    2.11.1版本意味着该版本已经过多次迭代,相对稳定,适合在生产环境中使用。 4. **使用Log4j2的优势**: - **性能提升**:Log4j2提供了异步日志记录,通过使用线程池和队列,可以显著提高日志处理速度,降低对应用...

    log4j.properties配置详解

    Log4J采用类似C语言中的`printf`函数的打印格式格式化日志信息,常用的参数有: - `%m`:输出代码中指定的消息。 - `%p`:输出优先级,例如DEBUG、INFO、WARN、ERROR、FATAL。 - `%r`:输出自应用启动到输出该日志...

Global site tag (gtag.js) - Google Analytics