`
kuiyuexiang
  • 浏览: 55929 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何使用log4j

    博客分类:
  • java
阅读更多
1.首先到网站上下载logging-log4j-1.2.12.zip,解压到本地目录,然后把logging-log4j-1.2.12\dist\lib\log4j-1.2.12.jar复制到工程目录\WEB-INF\lib\log4j-1.2.12.jar下.

2.写资源文件mylog4j.properties

#(一)      配置rootLogger,参数一:指定日志级别为DEBUG,参数二、三:指定两个Appender输出组件,组件名分别为console,file
    log4j.rootLogger=INFO,console,file

    #-------日志级别(OFF,FATAL,ERROR,WARN,INFO,DEBUG,TRACE,ALL)依次由高到低

#(二)   配置Appender组件(输出目的地组件)

    #配置第一个输出目的地为org.apache.log4j.ConsoleAppender(控制台)的Appender组件
    log4j.appender.console=org.apache.log4j.ConsoleAppender

    #配置第二个输出目的地为org.apache.log4j.FileAppender(文件)的Appender组件
    log4j.appender.file=org.apache.log4j.FileAppender
    #信息将输出到文件mylog.txt里
    log4j.appender.file.File=mylog.txt

    #--------Appender组件输出目的地有4种:
    #----------------------------org.ajpache.log4j.ConsoleAppender(控制台)
    #----------------------------org.ajpache.log4j.FileAppender(文件)
    #----------------------------org.ajpache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
    #----------------------------org.ajpache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

#(三)   配置Layout组件(输出格式组件)

    #配置console组件的输出格式为org.apache.log4j.SimpleLayout(包含日志消息的级别和信息字符串)
    log4j.appender.console.layout=org.apache.log4j.SimpleLayout

    #配置file组件的输出格式为org.apache.log4j.PatternLayout(%格式,可以灵活的指定布局格式)
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    #指定输出内容
    log4j.appender.file.layout.ConversionPattern=%t  %p - %m%n

    #---------Layout组件输出格式有4种:
    #----------------------------org.ajpache.log4j.HTMLLayout(以HTML表格形式布局)
    #----------------------------org.ajpache.log4j.PatternLayout(可以灵活地指定布局模式)
    #----------------------------org.ajpache.log4j.SimpleLayout(包括日志消息的级别和信息字符串)
    #----------------------------org.ajpache.log4j.TTCCLayout(包含日志产生的时间、线程和类别等信息)
    #---------PatternLayout布局格式:
    #----------------------------%r   (自程序开始后消耗的毫秒数)
    #----------------------------%t   (表示日志记录请求生成的线程)
    #----------------------------%p   (表示日志语句的优先级别)
    #----------------------------%r   (与日志请求相关的类别名称)
    #----------------------------%c   (日志消息所在的类名)
    #----------------------------%m%n (表示日志消息的内容)



3.编写加载资源文件类



package com.li.tool;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.log4j.PropertyConfigurator;

public class MyLog4J extends HttpServlet ...{
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  //Initialize global variables
  public void init() throws ServletException ...{
    String realpath = this.getServletContext().getRealPath("/");
    String file = this.getInitParameter("mylog4j-config-file");
    System.out.println(realpath+file);
    PropertyConfigurator.configure(realpath + file);
  }
  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{
  }
  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{
  }
  //Clean up resources
  public void destroy() ...{
    super.destroy();
  }
}



4.注册Log4J到web.xml

<web-app>
...
  <servlet>
    <servlet-name>mylog4j</servlet-name>
    <servlet-class>com.li.tool.MyLog4J</servlet-class>
    <init-param>
      <param-name>mylog4j-config-file</param-name>
      <param-value>WEB-INF/classes/mylog4j.properties</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
...
</web-app>


5.在类里使用



public class Test...{
   private Logger logger=Logger.getLogger(this.getClass());
 
   public static void main(String args[])...{
       logger.debug("debug级别信息");
       logger.info("info级别信息");
       logger.warn("warn级别信息");
       logger.error("error级别信息");
   }
}
分享到:
评论

相关推荐

    示范如何在android工程中使用log4j记录日志

    Log4j是一个广泛使用的Java日志框架,它提供了强大的日志处理功能,包括日志级别控制、自定义日志格式、多路复用等。然而,由于Android系统对第三方库的限制,直接在Android工程中使用Log4j需要一些额外的步骤。本文...

    AndroidStudio 使用log4j记录日志,按照大小定期滚动日志Demo

    由于log4j本身并不直接支持Android,我们可以使用log4android,这是一个专门为Android平台设计的log4j实现。在`build.gradle`文件中,添加以下依赖: ```groovy dependencies { implementation '...

    如何使用Log4j如何使用Log4j

    #### 四、使用Log4j记录日志 1. **引入Log对象**: ```java protected final Log log = LogFactory.getLog(getClass()); ``` 在Java类中,需要引入Log对象以便记录日志信息。 2. **记录日志信息**: ```...

    Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等

    配置Log4j通常有两种方式,一种是使用XML格式的配置文件(log4j.xml),另一种是使用Java属性文件(log4j.properties)。本例中,描述提到的是使用后者。`log4j.properties`文件采用键值对的形式来设定配置,例如: ...

    Tomcat下使用Log4j接管生成日志文件

    Log4j是一个广泛使用的开源日志框架,提供灵活的日志配置和多种级别的日志输出。本文将详细介绍如何在Tomcat服务器环境下使用Log4j接管生成日志文件。 首先,了解Log4j的核心组件: 1. **Logger**:负责生成日志...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    Log4j和SLF4J(Simple Logging Facade for Java)是两个广泛使用的日志框架,它们各有优势并常被一起使用以提供更灵活的日志解决方案。本文将详细探讨如何通过SLF4J接口来使用Log4j进行日志记录,并展示一个测试代码...

    Web项目中使用Log4j实例

    Log4j是Apache组织提供的一款广泛使用的Java日志框架,以其灵活性和可配置性著称。本篇文章将深入探讨如何在Web项目中集成并使用Log4j,以便更好地管理和分析应用的日志。 首先,Log4j主要由三部分组成:配置文件...

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

    Log4j、Log4j2和Fastjson的安全性问题在过去曾引起广泛关注,例如Log4j2的CVE-2021-44228(也被称为Log4Shell漏洞),这是一个远程代码执行漏洞,影响了许多使用Log4j2的系统。这个插件可能就是为了检测和利用这些...

    使用log4j2实现日志数据脱敏

    Log4j2作为Java领域广泛使用的日志框架,提供了丰富的功能来满足这一需求。本文将详细介绍如何使用Log4j2实现日志数据脱敏。 一、Log4j2简介 Log4j2是Apache软件基金会开发的日志框架Log4j的升级版,它具有更高的...

    若依框架使用的log4j2.16.0,修复log4j漏洞log4j2下载最新log4j2.16.0下载

    Log4j是一个广泛使用的Java日志记录框架,它允许开发者在应用程序中轻松地记录各种级别的日志信息,如DEBUG、INFO、WARN、ERROR等。在2021年底,一个重大的安全漏洞(CVE-2021-44228)被发现在Log4j2的早期版本中,...

    log4j使用与java中log4j记录日志如何写入数据库

    本文将详细介绍如何在Java中使用Log4j来记录日志,并将其写入数据库。 首先,我们需要了解Log4j的基本结构。一个简单的Log4j项目通常包含以下几个部分: 1. **配置文件**:Log4j的配置文件通常是`log4j.properties...

    如何在Java工程中使用Log4j

    Java工程中使用Log4j详解 Log4j是Apache提供的一个流行的日志记录工具,广泛应用于Java工程中。它可以帮助开发者记录程序的执行过程,方便BUG的追踪和程序的优化。在Java工程中使用Log4j可以提高程序的可读性和可...

    tomcat9 slf4j+log4j2 写日志.zip

    3. **配置Tomcat**:在`$CATALINA_HOME/lib`目录下添加`log4j-api.jar`和`log4j-slf4j-impl.jar`,这将使Tomcat使用Log4j2作为其内部的日志系统。 4. **排除其他日志实现**:确保你的应用中没有引入其他的日志实现...

    Tomcat使用Log4j输出catalina.out日志

    通过以上步骤,Tomcat服务器将使用Log4j来管理catalina.out日志,这不但解决了日志文件过大和格式不统一的问题,而且提供了更丰富的日志管理功能,例如,可以利用Log4j强大的过滤、路由和格式化等功能,将日志管理得...

    log4j2-所需jar包+配置详解(详细)

    关于配置文件的名称以及在项目中的存放位置  log4j 2.x版本不再支持像1.x中的....如果本地要测试,可以把log4j2-test.xml放到classpath,而正式环境使用log4j2.xml,则在打包部署的时候不要打包log4j2-test.xml即可。

    使用log4j写日志文件

    在Java应用中使用Log4j进行日志记录的第一步,是创建并配置log4j的属性文件(log4j.properties)。这个文件定义了日志的级别、输出目的地以及日志的格式。以下是一个典型的log4j配置示例: ```properties # 设置根...

    tomcat8更换log4j记录日志

    2. 如果Tomcat中已经包含了其他日志库,可能需要将Log4j的JAR文件(如`log4j.jar`)添加到`lib`目录,以确保优先使用Log4j。 3. 在Tomcat的`web.xml`配置文件中,可能需要配置一个`ContextLoaderListener`,以确保在...

    教你更简单的使用log4j日志

    ### 教你更简单的使用log4j日志 在日常的软件开发过程中,日志记录是必不可少的一个环节,它能够帮助我们追踪程序运行时的状态、定位问题所在,并且为后期维护提供重要的参考依据。Log4j作为Apache组织下的一个开源...

    log4j漏洞扫描工具

    4. **使用Log4j漏洞扫描工具**:对于大型系统或包含大量JAR文件的环境,手动检查每个组件可能不切实际。此时,使用像“log4jscanner”这样的自动化工具可以大大提高效率,减少误报和漏报的风险。 5. **操作步骤**:...

    weblogic中使用log4j生成日志文件实例

    2. **集成到WebLogic**: 在WebLogic中使用Log4j,我们需要将Log4j的JAR文件(如`log4j-x.x.x.jar`)添加到WebLogic的类路径中。这通常可以通过在WebLogic的`WEB-INF/lib`目录下放置Log4j JAR文件来实现。同时,确保`...

Global site tag (gtag.js) - Google Analytics