加入收藏 | 设为首页 | 会员中心 | 我要投稿 大同站长网 (https://www.0352zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Java中Log4j的实施

发布时间:2021-11-21 13:44:49 所属栏目:教程 来源:互联网
导读:根据开发网_开封站长网 Www.0378Zz.Com报道 当我们的代码存在有疑问的地方且不想去处理时,我们就需要把程序的日志信息输出,这时我们会用到一个类--Log4j,想用这个类,我们需要下载Log4j的引用包,下载地址如下:http://logging.apache.org/log4j/2.x/downl
根据开发网_开封站长网 Www.0378Zz.Com报道

当我们的代码存在有疑问的地方且不想去处理时,我们就需要把程序的日志信息输出,这时我们会用到一个类--Log4j,想用这个类,我们需要下载Log4j的引用包,下载地址如下:http://logging.apache.org/log4j/2.x/download.html
 
在我们编写测试代码之前,第一步,我们需要把下载的包引用到我们的程序中,右键点击项目选中BuildPath之后选择你的包所在的路径即可。
 
下一步是需要一个属性文件,其中配置日志的记录位置,记录格式等内容,我所用到的配置文件如下,从中可以看出,我把日志文件输出到控制台上:
 
log4j.rootLogger=debug, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
 
注意:第一行代表的是输出级别,我这里填写的是最低的一层,也就是Debug,当日志输出不比DEBUG低时,日志内容就会打印到控制台上,当然,DEBUG是最底的级别,所以,只要有日志信息都会打印出来。
 
这里,所有的工作都做好了,我们开始编写测试代码:
 
package com.brucezhang.mytest;
 
import org.apache.log4j.Logger;
 
 
public class MyTest {
static Logger logger = Logger.getLogger(MyTest.class.getName());
 
    public static void main(String[] args) {
 
 //记录日志,从最低到最高的次序为:debug->info->warn->error
 logger.debug("debug");
 logger.info("info");
 logger.warn("warn");
 logger.error("error");
 
 testLog(0);
    }
   
    public static void testLog(int div){
     try {
   int value = 8;
   System.out.println(value/div);
  } catch (Exception e) {
   // TODO: handle exception
   e.printStackTrace();
   logger.error("get a error");
  }
    }
}
 
运行我们的测试程序,得到结果如下所示:
 
DEBUG [main] (MyTest.Java:12) - debug
 INFO [main] (MyTest.java:13) - info
 WARN [main] (MyTest.java:14) - warn
ERROR [main] (MyTest.java:15) - error
ERROR [main] (MyTest.java:27) - get a error
java.lang.ArithmeticException: / by zero
 at com.brucezhang.mytest.MyTest.testLog(MyTest.java:23)
 at com.brucezhang.mytest.MyTest.main(MyTest.java:17)
 
可以看到,日志信息和异常信息都被打印到了控制台上。

(编辑:大同站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!