【Java】配置Log4j

本文记录了学习廖雪峰Java教程的心得,原章节地址:https://www.liaoxuefeng.com/wiki/1252599548343744/1264739436350112#0

Log4j是一种非常流行的日志框架, 可以把日志按照配置输出到不同的位置,例如:console:输出到屏幕;file:输出到文件;socket:通过网络输出到远程计算机;jdbc:输出到数据库。

一、配置Log4j的组件

使用Log4j时,要注意Log4j是Java第三方库,需要将jar包放到要编译的.Java同一文件夹下。需要的组件有:

  • 配置文件
  • commons-logging的jar包:commons-logging-1.2.jar
  • Log4j的jar包:log4j-api-2.14.0.jar;log4j-core-2.14.0.jar;log4j-jcl-2.14.0.jar(笔者下载的版本是2.14.0版本)

1.1配置文件

配置文件例子如下:新建笔记本粘贴以下内容,然后保存文件名为log4j2.xml即可。

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
	<Properties>
        <!-- 定义日志格式 -->
		<Property name="log.pattern">%d{MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36}%n%msg%n%n</Property>
        <!-- 定义文件名变量 -->
		<Property name="file.err.filename">log/err.log</Property>
		<Property name="file.err.pattern">log/err.%i.log.gz</Property>
	</Properties>
    <!-- 定义Appender,即目的地 -->
	<Appenders>
        <!-- 定义输出到屏幕 -->
		<Console name="console" target="SYSTEM_OUT">
            <!-- 日志格式引用上面定义的log.pattern -->
			<PatternLayout pattern="${log.pattern}" />
		</Console>
        <!-- 定义输出到文件,文件名引用上面定义的file.err.filename -->
		<RollingFile name="err" bufferedIO="true" fileName="${file.err.filename}" filePattern="${file.err.pattern}">
			<PatternLayout pattern="${log.pattern}" />
			<Policies>
                <!-- 根据文件大小自动切割日志 -->
				<SizeBasedTriggeringPolicy size="1 MB" />
			</Policies>
            <!-- 保留最近10份 -->
			<DefaultRolloverStrategy max="10" />
		</RollingFile>
	</Appenders>
	<Loggers>
		<Root level="info">
            <!-- 对info级别的日志,输出到console -->
			<AppenderRef ref="console" level="info" />
            <!-- 对error级别的日志,输出到err,即上面定义的RollingFile -->
			<AppenderRef ref="err" level="error" />
		</Root>
	</Loggers>
</Configuration>

1.2 commons-logging的jar包

Log4j这个第三方库需要和commons-logging配合,使用commons-logging的接口打印日志。因此,需要调用commons-logging的jar包。
下载commons-logging的jar包。下载后,解压,找到commons-logging-1.2.jar这个文件,再把文件和Java源码.java文件放到一个目录下。

1.3 Log4j的jar包

下载Log4j的jar包。笔者下载的2.14.0版本文件名称是 apache-log4j-2.14.0-bin.zip,下载解压后,把以下3个jar包放到.Java的同一文件夹中。

  1. og4j-api-2.x.jar
  2. log4j-core-2.x.jar
  3. log4j-jcl-2.x.jar

二、配置 Log4j 操作

第一步:编译 .java文件,得到.class文件。

注意:

  1. jar包的版本号按照下载的文件名来。
  2. -cp 表示classpath,点表示在.java文件当前目录。-cp .;commons-logging-1.2.jar;log4j-api-2.13.3.jar;log4j-core-2.13.3.jar;log4j-jcl-2.13.3.jar表示在当前目录有程序编译需要的资源包,需要参与编译过程。
javac -cp .;commons-logging-1.2.jar;log4j-api-2.13.3.jar;log4j-core-2.13.3.jar;log4j-jcl-2.13.3.jar Common_logging_learning.java

第二步:执行.class文件,输出日志。

java -cp .;commons-logging-1.2.jar;log4j-api-2.13.3.jar;log4j-core-2.13.3.jar;log4j-jcl-2.13.3.jar Common_logging_learning

输出到控制台上的内容如下:

01-28 09:58:04.207 [main] INFO  Common_logging_learning
start...

01-28 09:58:04.209 [main] WARN  Common_logging_learning
end.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值