Java log4j使用

log4j下载地址:

http://logging.apache.org/log4j/1.2/download.html

本人用的是log4j-1.2.17.jar的jar包。 接下来我们配置下一log4j

第一步 加载log4jjar包

首先,我们先在项目中创建一个文件夹,

右键你的项目,选择New,选择Folder,命名为lib,然后点击Finish。

把你下载的jar包复制到此文件夹

然后右击你的log4j,选择Build path,然后在选择Add to Build path现在就加载完成了。

第二步 创建log4j.properties。

右键你项目中的src,选择New,选择File,命名为log4j.properties,(不能改名字,因为它是写死的,不能改变。)点击Finish完成。

第三步:配置log4j

在这个页面中填写代码:

代码填写为:

log4j.rootLogger=debug, stdout,logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout

log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=jbit.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}%l %F %p %m%n

然后保存。

第四步:编写测试类。

public static void main(String[] args) {
        // TODO Auto-generated method stub
        Logger logger=Logger.getLogger(Test.class.getName());
        int num1=10;
        int num2=0;
        try {
            System.out.println(num1/num2);
        } catch (Exception e) {
            logger.debug("除数不能为0"+num2);
        }
        
    }

运行结果就是:

我给大家介绍一下编写log4j.properties里代码的意思。

输出级别设置:

log4j.rootLogger=debug, stdout,logfile

 
fatal 指出严重的错误事件将会导致应用程序的退出。
error 指出虽然发生的错误事件,但仍然不影响系统的继续运行。
warn 表明会出现现在错误的情形。
info 在粗粒级别上指明消息,强调应用程序的运行过程。
debug 指出细粒度信息事件,对调试应用程序是非常有帮助的。

他们的优先级别是 : fatal>error>warn>info>deb

输出目的地:log4j.rootLogger=debug, stadout,logfile

其中stadout,logfile指的是日志输出目的地的名字。

ConsoleAppender:输出日志事件到控制台。

FileAppender:输出日志事件到一个文件。

 

日志布局类型layout

Appender必须使用一个与之相关联的布局类型Layout,用来制定它的输出样式。

log4j中常用的layout有一下三种

1.HTMLLayout:格式化日志输出为HTML表格。

2.SimpleLayout:以一种非常简单的方式格式化日志输出,它输出级别Level,然后跟一个破折号“—”,最后是日志消息。

3.PatternLayout:根据指定的转换模式格式化日志输出,从而支持丰富多样的输出格式,需要配置layout.ConversionPattern属性,

若没有配置该属性,则使用默认的转换模式。

转换模式ConversionPattem

对于PatternLayout,需要配置layout.ConversionPattern属性,常用的配置参数及含义。

1.%d :用来设置输出日志的日期和时间,默认格式为ISO8601。

2.%m :用来输出代码中指定的消息。

3.%n :用来输出一个回车换行符。

4.%p:用来输出优先级,即debug、info、warn、error、fatal等。

5.%F :用来输出文件名。

6.%M :用来输出方法名。

原文地址:https://www.cnblogs.com/xjdoconline/p/4909241.html