作者:烟花凄美了谁的脸_234 | 来源:互联网 | 2023-09-14 14:47
log4j在maven项目中的使用
- log4j在maven项目中的使用
- 一、序言
- 二、log4j在maven中的使用
- 1.导入依赖
- 2.配置log4j
- 方法一:创建log4j.properties
- 方法二:通过XML文件配置
- 方法三:使用Java代码配置
- 3.使用log4j
log4j在maven项目中的使用
一、序言
最近在学习MyBatis,在学习过程中需要用到控制台输出sql信息,因此才会有本文。
因本文大部分都是来源于对各文章的总结,也不好说是转载某一人,因此,会有文末的参考。
如非要说侵犯版权,请告知,会及时删除。
什么是log4j?
Apache Log4j是一个基于Java的日志记录工具。它是由Ceki Gülcü首创的,现在则是Apache软件基金会的一个项目。 log4j是几种Java日志框架之一。
二、log4j在maven中的使用
1.导入依赖
<dependency>
<groupId>log4jgroupId>
<artifactId>log4jartifactId>
<version>1.2.17version>
dependency>
2.配置log4j
共有三种方法可以配置log4j
方法一:创建log4j.properties
在maven项目的目录结构中,存在resources目录,在这个目录下新建log4j.properties文件。
通过在文件写入一些配置即可。下面是我在控制台输出sql语句的配置
# 全局日志配置
log4j.rootLogger = DEBUG,Console
# MyBatis 日志配置
log4j.logger.Mapper=DEBUG
# 控制台输出
log4j.appender.COnsole=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.COnversionPattern=%5p - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
方法二:通过XML文件配置
配置示例如下:
<log4j:configuration>
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
layout>
appender>
<logger name="org.springframework">
<level value="info"/>
logger>
<logger name="org.springframework.beans.PropertyEditorRegistrySupport">
<level value="debug"/>
logger>
<logger name="org.acegisecurity">
<level value="info"/>
logger>
<root>
<level value="debug" />
<appender-ref ref="stdout" />
root>
log4j:configuration>
方法三:使用Java代码配置
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class TestLog4j {
private static Logger logger = Logger.getLogger(TestLog4j.class);
public static void main(String[] a) throws InterruptedException {
BasicConfigurator.configure();
logger.setLevel(Level.DEBUG);
logger.trace("跟踪信息");
logger.debug("调试信息");
logger.info("输出信息");
Thread.sleep(1000);
logger.warn("警告信息");
logger.error("错误信息");
logger.fatal("致命信息");
}
}
3.使用log4j
最常用的还是通过log4j.properties配置.
首先先介绍一下log4j的日志等级
级别 | 描述 |
---|
OFF | 最高级,用于关闭日志记录 |
FATAL | 导致应用程序提前终止的严重错误。一般这些信息将立即呈现在状态控制台上 |
ERROR | 其他运行时错误或意外情况。一般这些信息将立即呈现在状态控制台上 |
WARN | 使用已过时的API,API的滥用,潜在错误,其他不良的或意外的运行时的状况(但不一定是错误的)。一般这些信息会立即呈现在状态控制台上 |
INFO | 令人感兴趣的运行时事件(启动/关闭)。一般这些信息将立即呈现在状态控制台上,因而要保守使用,并保持到最低限度。 |
DEBUG | 流经系统的详细信息。一般这些信息只记录到日志文件中 |
TRACE | 最详细的信息。一般这些信息只记录到日志文件中。 |
下面是一些配置说明:
配置根Logger:
# 语法:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
# 例子:
# 将等级为DEBUG的日志信息输出到Console中,目的地可以有多个,可以自定义名称
log4j.rootLogger = DEBUG,Console
配置文件的输出目的地Appender:
# 语法
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
# 例子:
log4j.appender.COnsole=org.apache.log4j.ConsoleAppender
# 常见appender:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
日志信息的格式
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
…
log4j.appender.appenderName.layout.option = valueN
例子:
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
# Log4j提供的org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
# 格式参数:
%m 输出代码中指定的消息
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫秒数
%c 输出所属的类目,通常就是所在类的全名
%t 输出产生该日志事件的线程名
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
# 例子:
log4j.appender.Console.layout.COnversionPattern=%5p - %m%n
参考资料:
- log4j——维基百科
- 使用java代码配置log4j
- 最详细的Log4J使用教程
- log4j——Introduction