`

log4j(一):简单配置

阅读更多

以前写代码不太喜欢用日志,后来项目出问题了想跟踪一下都难,这时候才知道日志的好处。于是好好看了一下,特写个东东记录下。

1、新建一个web项目,在WEB-INF\lib下导入log4j-1.2.15.jar,并build path;

 

2、在src下新建log4j.properties,内容如下:

#log4j.rootLogger = [ level ] , appenderName, appenderName, ... 
log4j.rootLogger = info, console, R 
#level=INFO,all can be output 
#console is set to be a ConsoleAppender 
log4j.appender.console = org.apache.log4j.ConsoleAppender 
#console have four patterns 
#org.apache.log4j.HTMLLayout 
#org.apache.log4j.PatternLayout 
#org.apache.log4j.SimpleLayout 
#org.apache.log4j.TTCCLayout 
log4j.appender.console.layout = org.apache.log4j.PatternLayout 
#define the output type 
log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] %m%n 
#file is set to output to a extra file 
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender 
#the absolute route of the log4j file 
log4j.appender.R.File = D:/logs/test2.log
#the size 
#log4j.appender.R.MaxFileSize = 500KB 
#back up a file 
#log4j.appender.R.MaxBackupIndex = 10
log4j.appender.File.Threshold = ALL
log4j.appender.R.layout = org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} [%c]-[%p] - %m%n 

3、添加文件测试:

通过普通的main方法写日志:

package com.wjl.test;
import org.apache.log4j.Logger;
public class TestLog4j {
	public static Logger logger = Logger.getLogger(TestLog4j.class );
	public static void main(String[] args){
	     logger.info("使用info写入数据\r\n");
	     logger.debug("使用debug写入数据\r\n");
	     logger.error("使用error写入数据\r\n");
	     logger.warn("使用warn写入数据\r\n");
	}
}

执行main方法之后, D:/logs/test2.log会记录logger写入的信息和具体时间。

 

通过servlet写日志:

public class TestLog4jServlet extends HttpServlet {
	Logger logger = Logger.getLogger(TestLog4jServlet.class);
	public TestLog4jServlet() {
		super();
	}
	public void destroy() {
		super.destroy();
	}
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html");
		logger.info("----------------log4j测试开始----------------\r\n");
		logger.info("使用log4j添加日志信息方便跟踪数据\r\n");
		logger.info("----------------log4j测试结束----------------\r\n");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		int name = 10/0;//会出现异常,但是不会让日志文件中记录
		System.out.println(name);
		out.println(name);
		out.println(", using the GET method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}
	public void init() throws ServletException {}
}

值得一提的是:

a、这样子的logger配置,只会记录手动收入的日志信息,如异常信息、服务器启动信息都不会自动记入日志。

 

b、按照上面的配置,生成的log文件不会出现在项目的根目录下,而是会出现在:项目所在盘符的根目录下。譬如我项目的目录为:D:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\webapps\TestWeb,生成的日志文件不在TestWeb的logs目录下,而是在D的logs文件夹下。

 

c、查看网上关于log4j.properties的配置,大部分都需要在web.xml中添加以下代码:

<context-param>
	<param-name>log4jConfigLocation</param-name>
	<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<context-param> 
	<param-name>log4jRefreshInterval</param-name> 
	<param-value>600000</param-value> 
</context-param>

原以为以上代码是使用log4j必须的配置,后来去掉之后再测试发现还是可以用,无论是在以上哪种方式中都可以用,原因是因为我这个配置文件放在src也就是classpath下,项目一启动直接就能找到。

分享到:
评论

相关推荐

    SpringBoot框架配置log4j和log4j2的配置代码

    SpringBoot默认使用的是Logback,但通过简单的配置,我们也可以切换到Log4j。 #### 配置Log4j 1. **添加依赖**:首先,在`pom.xml`文件中,添加Log4j的依赖。 ```xml &lt;groupId&gt;org.springframework.boot ...

    log4j实用配置扩展

    ### log4j实用配置扩展 #### 一、log4j简介与重要性 Log4j是一种广泛使用的开源日志框架,由Apache软件基金会维护。它主要用于记录Java应用程序的运行时信息,帮助开发者追踪应用程序的行为、调试问题以及进行性能...

    [简单]log4jdbc-log4j2配置简记

    3. 配置log4j2:创建一个log4j2的配置文件(如log4j2.xml或log4j2.json),定义日志输出的模式和级别。例如,以下是一个简单的配置示例: ```xml &lt;PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %...

    log4j-1.2.17.jar及配置文件

    例如,以下是一个简单的log4j.properties配置示例: ``` # 设置全局日志级别为INFO log4j.rootLogger=INFO, stdout, file # 定义输出到控制台的Appender log4j.appender.stdout=org.apache.log4j.ConsoleAppender ...

    log4j简单使用

    标题"Log4j简单使用"表明我们即将探讨的是日志记录库Log4j的基础应用。Log4j是Apache软件基金会开发的一个开源项目,它为Java应用程序提供了一个灵活的日志系统,允许开发者自定义日志级别、输出格式以及存储位置等...

    log4j.properties配置详解

    #### 一、Log4j配置文件基本概念 Log4j是一种广泛应用于Java应用程序的日志框架,它可以帮助开发者轻松管理应用程序的日志记录过程。Log4j支持多种配置方式,其中.properties文件配置是最常用的一种。通过....

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

    下面我们将从配置文件类型、核心JAR包、文件渲染和Log调用四个方面来比较Log4j和Log4j2的区别。 配置文件类型 Log4j通过一个.properties文件作为主配置文件,而Log4j2则弃用了这种方式,采用的是.xml、.json或者....

    Log4j2结合Slf4j配置使用

    Log4j2 结合 Slf4j 配置使用 Log4j2 是一个功能强大且广泛使用的日志记录工具,它提供了灵活的日志记录机制和高性能的日志记录能力。Slf4j 则是一个简单的日志记录门面,提供了统一的日志记录接口。今天,我们将...

    log4j与web.xml的配置

    - Log4j由Apache软件基金会开发,提供了一种简单但功能强大的日志记录API,可以控制日志信息的输出级别,如DEBUG、INFO、WARN、ERROR和FATAL。 - 它包含三个主要组件:Logger(记录器)、Appender(输出目的地)和...

    配置好log4j的eclipse简单工程,每天输出到一个日志文件中,该文件名为:“XXX_年月日时分.log”的形式

    本工程基于Eclipse IDE,配置了一个简单的Log4j设置,实现了每天自动将日志输出到一个特定命名格式的文件中,即“XXX_年月日时分.log”。下面我们将详细解析这个配置及其工作原理。 1. **Log4j介绍**: Log4j是一...

    log4j与log4j.properties的配置.doc

    Log4j 是一个功能强大且灵活的日志记录工具,通过配置 log4j.properties 文件,可以实现灵活的日志记录。了解 Log4j 的配置步骤、日志输出级别、appenders 和 layouts,可以帮助我们更好地使用 Log4j 实现日志记录。

    Log4J配置实例(xml格式)

    **Log4J配置实例(XML格式)** Log4J是一款广泛应用的日志记录框架,它为Java应用程序提供了灵活的日志记录功能。在Java开发中,日志记录是必不可少的一部分,可以帮助开发者跟踪程序运行状态,定位错误和调试代码...

    log4j使用jar包和log4j.properties配置文件

    **日志框架Log4j详解** ...1.2.17版本的Log4j jar包和`log4j.properties`配置文件是实现这一目标的基础。正确地引入和配置这两个组件,可以确保在开发和维护过程中获得所需的信息流,从而提升开发效率和问题排查能力。

    Log4j jar包及其配置方法

    这个压缩包"Log4j及其配置.rar"包含了Log4j的jar包(log4j-1.2.15.jar)以及相关的配置文档,旨在帮助开发者理解和使用Log4j。 一、Log4j介绍 Log4j是Apache软件基金会的一个开源项目,最初由Ceki Gülcü创建。它...

    Log4j日志配置说明,Log4j日志配置说明

    本文将通过一份示例文档来详细解析 Log4j 的日志配置方法。 #### 二、安装与配置 ##### 1. 安装 Log4j 包 首先,你需要下载并安装 Log4j。本示例中使用的是 `log4j-1.2.8.jar` 这个版本。将其复制到项目中的 `WEB...

    log4j(三):配置文件属性解释、级别、布局、参数设置等

    在Java日志处理领域,Log4j是一款广泛应用的开源日志框架,它为开发者提供了灵活且高效的日志记录功能。本文将深入解析Log4j的配置文件属性、日志级别、布局方式以及参数设置等核心知识点,帮助你更好地理解和利用这...

    log4j详细配置

    ### Log4j详细配置 #### 一、Log4j简介 Log4j 是一款非常流行的 Java 日志框架,由 Apache 软件基金会所提供。它能够帮助开发者在应用程序中记录日志信息,使得应用程序能够在运行时更加透明地展示其内部状态。Log...

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

    综上所述,`log4j-2.17.1`不仅是一个日志工具,它还是一个强大的日志管理和监控平台,能够适应各种复杂的应用场景,并且具有高度的可配置性和安全性。在开发过程中正确使用Log4j,可以帮助开发者更好地理解和调试...

    log4j使用手册和配置文件示例

    总结来说,这个压缩包提供了log4j的使用教程、配置示例、API文档、Java代码示例以及配置文件的解释,是一个全面学习和使用log4j的资源集合。通过深入研究这些文件,开发者可以掌握如何在自己的Java应用中有效地利用...

Global site tag (gtag.js) - Google Analytics