Log4J随笔

简介:简单记录一下在Eclipse中如何配置并使用Log4J。
Log4J:Java日志框架,把日志信息输出到控制台或指定文件。并把日志信息划分成了不同的等级,使得我们可以通过设置等级,来决定何种级别的日志被输出出来以及何种不被输出。
比如把桃子分为**“好–中--差”**三个等级,如果我们设置说只要中等以上,那么差的桃子就不会出现在我们的视野,如果我们说只要好,那么中差都不会出现。当然,日志信息的"好中差"也是我们自己定义的,我们说他好,他就是好。

Log4J

1 创建项目并导入Jar包

首先创建一个Java工程,然后新建一个文件夹,文件夹取名一般可以为lib
然后把Log4J的Jar包复制进来。
在这里插入图片描述
但此时的Jar包还不能被使用,还需要配置一下路径,方法如下:
选中lib文件夹右击 ----> Bulid Path ---->Configure Bulid Path,随后看到如下界面
在这里插入图片描述
在这里插入图片描述
此时jar包就已经导入成功了。

2 编写配置文件

在src文件夹下创建log4j.properties配置文件。参考如下:

### 设置Logger输出级别和输出目的地 ###
log4j.rootLogger=info,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.stdout.layout=org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern=%d %l %m %n
#输出到文件
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=log01.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%p %d %F %M  %m%n

关于配置文件,我们关注这几个重点:
1️⃣ 第一行,设置日志输出的级别,只能输出该级别及以上的信息。常见日志等级如下:debug < info < warn < error < fatal。比如本例中,设置的级别就是info。后面的两个参数stdout和logfile用来表示是否输出到控制台和文件,如果都写,就会都输出。但如果都不写的话会弹出警告,毕竟日志只有这2个输出位置,都不输出的话,设置日志也就失去了意义。
2️⃣ 第二部分,主要用来设置一些输出到控制台时的相关配置。
3️⃣ 第三部分,用来设置一些输出到文件时的相关配置。log4j.appender.logfile.File=log01.log是用来指定输出文件的位置。

3 编写代码测试
//要注意导入的包是阿帕奇的
import org.apache.log4j.Logger;
public class Demo {
	//获得Demo类的日志对象
	private static Logger logger = Logger.getLogger(Demo.class);   
    public static void main(String[] args) throws Exception {  
        //根据配置文件等级设置的不同,控制台和文件中也会有不同的输出
    	logger.error("错误✖");
        logger.debug("测试");  
        logger.info("普通信息");  
    }
}

这里配置文件写的info,所以更低级的debug就没有输出。
在这里插入图片描述

Log4J2

Log4J2的简单使用和Log4J类似。不同的导入的jar包变成了
在这里插入图片描述
并且配置文件不再使用.properties而改成.xml.json类型,参考如下:

<?xml version="1.0" encoding="UTF-8"?>

-<Configuration>


-<Appenders>

<!-- 配置日志输出文件名字 追加读写 -->



-<File append="true" fileName="A1.log" name="A1">

<!-- 输出格式 -->


<PatternLayout pattern="%t %-5p %c{2} - %m%n"/>

</File>

<!-- 标准输出 -->



-<Console name="STDOUT" target="SYSTEM_OUT">

<!-- 输出格式 -->


<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>

</Console>

</Appenders>


-<Loggers>

<!-- 配置记录器级别 -->



-<Root level="fatal">

<!-- 输出设置 -->


<AppenderRef ref="STDOUT"/>

<AppenderRef ref="A1"/>

</Root>

</Loggers>

</Configuration>

使用方法也有略微的不同:

//注意导入的包
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Log4j2Demo {
	static Logger logger = LogManager.getLogger(Log4j2Demo.class);
	public static void main(String[] args) {
		logger.fatal("致命");
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值