[学习随笔]SpringMVC框架集成Log4j日志框架

我的梦境 提交于 2019-12-22 23:16:33

[学习随笔]SpringMVC框架集成Log4j日志框架这里写自定义目录标题

Log4j简介

log4j是Apache下的开源项目,主要功能为采集日志信息并输出打印。Log4j主要组件有如下三个。
(1)Logger:记录器,并提供细粒度划分,定义了不同的日志级别。这些日志级别的优先级如下:
all<debug<info<warn<error<fatal<off.
(2)Appender:Log4j允许把日志输出到不同的地方。Console,Files等。
(3)Layout:格式化日志输出方式

Log4j可以有两种配置方式,XML式或者.properties形式。xml式文件基本配置如下:

// An highlighted block
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
	<Appenders>
		<Concole name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="%d{HH:mm:ss:SSS}[%t]%-5level%logger{36}-%msg%n">
		</Console>
	</Appenders>
	<Loggers>
		<Root level="debug">
			<AppenderRef ref="Console"/>
	</Loggers>

Log4j依赖添加

一个应用的日志采集,通常需要slf4j提供接入,可以理解slf4j为一根数据线,一端连接具体的应用,一端连接日志系统,完成日志打印。因此对于Log4j的日志系统一般需要具备以下三个jar:slf4j-api,
slf4j-log4j2以及log4j。maven中依赖如下:

// An highlighted block
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.8.0-beta4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.8.0-beta2</version>
    <scope>test</scope>
</dependency>

加载slf4j也可以选择使用Simple-slf4j的方式,如果采用这种方式,maven中加载如下两个依赖即可。

    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.25</version>
    </dependency>

另外,将Log4j的配置文件放置于resource下,即可运行。log4j配置文件如下:

 #set log levels
log4j.rootLogger=DEBUG,Console
 #输出控制台
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=%d{ABSOLUTE}%5p%c{1}:%L-%m%n
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!