登录 |  注册
首页 >  编程入门 >  Java基础教程·入门课堂笔记 >  Log4j介绍

Log4j介绍

Log4j API包是根据Apache软件许可证分发的。

最新的log4j版本,包括全源代码,类文件和文档可以在http://logging.apache.org/log4j/找到。

我们可以从上面的链接下载apache-log4j-x.x.x.tar.gz或zip文件。

支持库

我们可以使用log4j将信息记录到各种目的地,例如发送电子邮件,数据库或文件。

有一个我们需要放到classpath的库的列表,以便log4j可以拿起它并使用它。

例如,当从log4j发出电子邮件时,我们需要电子邮件库jar文件。

库是可选的,并且取决于我们将要与log4j框架一起使用的功能。

  • JavaMail API(mail.jar): 从https://glassfish.dev.java.net/javaee5/mail/用于基于电子邮件的日志记录。

  • JavaBeans Activation Framework(activation.jar): 来自http://java.sun.com/products/javabeans/jaf/index.jsp。

  • Java Message Service: 用于JMS和JNDI。

  • XML Parser(Xerces.jar): 来自http://xerces.apache.org/xerces-j/install.html。

Maven和Log4j

首先,使用以下maven命令创建一个空的Maven项目。

C:\mvn_test>mvn archetype:generate -DgroupId=com.yukx.ide -DartifactId=MyTest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

 

然后,转到项目文件夹并找到pom.xml,添加以下依赖关系。

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

 

之后,将以下代码添加到在resources文件夹下创建的log4j.properties。

  MyTest
 |
 +-src
    |
    +-main
       |
       +-java
       |  |
       |  +-com
       |    |
       |    +-yukx
       |       |
       |       +-ide
       |
       +-resources
          |
          +- log4j.properties

 

如上面的文件夹结构所示,资源位于java文件夹的保存级别。


对于Java Web应用程序,将log4j.properties文件存储在WEB-INF/classes目录下 将以下配置保存到log4j.properties文件中。  


# Root logger option
log4j.rootLogger=DEBUG, stdout, file
 
# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
 
# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\log4j.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

 

最后一个%m%n 配置log4j以添加换行符。

%L设置从记录请求的行号。

%c{1}引用通过 getLogger()设置的日志记录名称。

%-5p设置日志记录优先级,如DEBUG或ERROR。

最后添加以下代码App.java并运行应用程序。

package com.yukx.ide;
 
import org.apache.log4j.Logger; 
public class App{ 
  final static Logger logger = Logger.getLogger(App.class); 
  public static void main(String[] args) {
 
    App obj = new App();
    obj.runMe("yukx");
 
  } 
  private void runMe(String parameter){ if(logger.isDebugEnabled()){
      logger.debug("This is debug : " + parameter);
    } if(logger.isInfoEnabled()){
      logger.info("This is info : " + parameter);
    }
 
    logger.warn("This is warn : " + parameter);
    logger.error("This is error : " + parameter);
    logger.fatal("This is fatal : " + parameter);
 
  }
 
}

   以下代码显示如何记录异常。

import org.apache.log4j.Logger;public class App {  final static Logger logger = Logger.getLogger(App.class);  public static void main(String[] args) {

    App obj = new App();try {
      obj.divide();
    } catch (ArithmeticException ex) {
      logger.error("Sorry, something wrong!", ex);
    }
  }  private void divide() {
    int i = 10 / 0;

  }

}

   

上一篇: Java反射
下一篇: JavaJSON教程
推荐文章
  • 在HTML中,如果你想让一个输入框(input元素)不可编辑,你可以通过设置其readonly属性来实现。示例如下:input type="text" value="此处内容不可编辑" readonly在上述代码中,readonly属性使得用户无法修改输入框中的内容。另外,如果你希望输入框完全不可交
  • ASP.NET教程ASP.NET又称为ASP+,基于.NETFramework的Web开发平台,是微软公司推出的新一代脚本语言。ASP.NET是一个使用HTML、CSS、JavaScript和服务器脚本创建网页和网站的开发框架。ASP.NET支持三种不一样的开发模式:WebPages(Web页面)、
  • C# 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的通常形式:判断语句C#提供了以下类型的判断语句。点击链接查看每个语句的细节。语句描述if语句一个 if语句 由一个布尔表达式后跟
  • C#循环有的时候,可能需要多次执行同一块代码。通常情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的通常形式:循环类型C#提供了以下几种循环类型
  • C#数组(Array)数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,一般认为数组是一个同一类型变量的集合。声明数组变量并不是声明number0、number1、...、number99一个个单独的变量,而是声明一个就像numbers这样的变量,然后使用numbers[0]
  • ASP.NET是一个由微软公司开发的用于构建Web应用程序的框架,它是.NETFramework的一部分。它提供了一种模型-视图-控制器(MVC)架构、Web表单以及最新的ASP.NETCore中的RazorPages等多种开发模式,可以用来创建动态网页和Web服务。以下是一些基础的ASP.NET编
学习大纲