Eclipse配置JAVA日志Log4j及使用

       首先我们来看看百度百科的解释: Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

        目前Log4j有两个版本一个是Log4j1和Log4j2。其中Log4j1在2015年就停止更新了,现在大部分都是使用Log4j2,连官网都推荐大家去使用Log4j2,但本篇文章是Log4j1的配置和使用,不知道和Log4j2的会不会有冲突。

1、下载Log4j

想要在Eclipse中使用Log4j,就要去官方下载JAR包。https://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip

 这是最新版的,进入之后,点击第一个链接就能下载,是一个zip的二进制文件压缩包。

2、在Eclipse中配置Log4j

先将我们刚刚下载的文件解压。然后添加到Eclipse工程中进去。

 在工程中选中项目名然后右键,选中Build Path->Configure Build Path。

 进入这个页面后。选择Liberaries,再选择Moudulepath,然后点击Add External JARs。

 找到解压好的文件,然后选中并打开log4j-1.2.17.jar。这样就把Log4j的JAR包添加成功了。退出时点击Apply and Close。

3、创建Log4j的配置文件

注意配置文件要在src根目录,默认会去src文件夹找。Log4j的配置文件通常由两种格式,一种是XLM,另一种的File。点击工程下的src文件,然后右键选择New->Other。

在General下选择File。

 

然后,Next,输入名字(一般好像都是用这个名字log4j.properties,不知道别的名字能不能行 ),点完成就可以了。下面的配置文件的内容。

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###
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 = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=D://Java课件/debug.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://Java课件/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志到=D://Java课件/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =D://Java课件/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

log4j.appender.stdout = org.apache.log4j.ConsoleAppender这是输出到控制台上,不需要可以把那一段删除。

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender这是在指定路径每天产生一个日志文件。

4、写入日志内容

package senior;

import org.apache.log4j.Logger;

public class logs {
  // 获取logger实列,获取日志记录器并读取配置文件,这个记录器将负责控制日志信息
  private static Logger logger = Logger.getLogger(logs.class);
  public static void main(String[] args) {
    // 插入记录信息(格式化日志信息)
    // 记录debug级别的信息
    logger.debug("这是调试信息");
    // 记录info级别的信息
    logger.info("这是输出信息");
    // 记录error级别的信息
    logger.error("这是错误信息");
    // 记录warn级别的信息
    logger.warn("这是警告信息");
    // 记录trace级别的信息
    logger.trace("这是跟踪信息");
    // 记录fatal级别的信息
    logger.fatal("这是致命信息");
  }
}

这是控制台输出的。

 这是生成的日志文件内容。

 5、把日志的内容输出到控制台上

package senior;


import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;


public class logs {
	//日志文件的路径
	static String path = "D:\\java课件\\error.log";
  public static void main(String[] args) {
      //如果出现乱码或报错了,则设置编码方式为GBK
	  Charset charset = Charset.forName("GBK");
	  Stream<String> lines = null;
		try {
			lines = Files.lines(Paths.get(path),charset);
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}    //如果你是需要按行去处理数据文件的内容,使用java 8的Stream流将文件读取与文件处理有机融合。
      lines.forEach(ele -> {
      	System.out.println(ele);
       });
  }
}

 以上是log4j的基础用法,log4j的详细使用方法,例如配置文件的更改,或者自定义配置文件等大家可以去看看我的参考网址。

参考网址:https://cloud.tencent.com/developer/article/1455713

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值