Spring 使用log4j

本文详细介绍了如何在Spring框架中整合Log4j进行日志输出,并提供了从简单到详细的日志级别调整方法,包括在web.xml文件中设置日志配置路径及直接在log4j.properties文件中配置。

spring使用log4j,可调级别:从简单到详细

我喜欢debug 级别,//开发阶段debug比较适合。

可以有2种方法。

1、默认:在web.xml里不做任何配置。

log4j.properties放在classpath根目录下,

这时候生成的日志文件就没有相对路径,如果写相对路径,则会生成在安装tomcat的根路径下。

附上简单输出到控制台的 log4j.properties :

### direct log messages to stdout ###
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=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


### direct messages to file hibernate.log ###
#log4j.appender.file=org.apache.log4j.FileAppender
#log4j.appender.file.File=hibernate.log
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

#FATAL,ERROR,WARN,INFO,DEBUG,TRACE

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=debug, stdout


2、在web.xml设置。

[html] view plain copy
  1. <context-param>
  2. <param-name>log4jConfigLocation</param-name>
  3. <param-value>WEB-INF/classes/log4j.properties</param-value> //放好文件
  4. </context-param>
  5. <context-param>
  6. <param-name>webAppRootKey</param-name>
  7. <param-value>myappfuse.root</param-value>
  8. </context-param>
  9. <listener>
  10. <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  11. </listener>
  12. <listener>
  13. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  14. </listener>
### Spring 框架中集成和配置 Log4j 进行日志管理 #### 1. 添加依赖项 为了使 Spring 应用程序能够使用 Log4j2 来处理日志,需要调整项目的构建工具配置文件来引入必要的库。对于 Maven 构建的项目,在 `pom.xml` 文件内加入如下依赖声明: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <!-- 排除默认的日志实现 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> ``` 上述操作确保了应用程序启动时会加载 Log4j2 而不是其他默认的日志框架[^1]。 #### 2. 创建 Logger 实例 在 Java 类中通过 SLF4J API 获取 logger 对象实例用于记录日志信息。这通常是在静态初始化器或成员变量定义处完成: ```java import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MyClass { private static final Logger logger = LoggerFactory.getLogger(MyClass.class); } ``` 这段代码展示了如何正确导入并创建一个与当前类关联的日志记录器对象[^2]。 #### 3. 编写 log4j2 配置文件 最后一步是编写适合需求的日志配置文件 (`log4j2.xml`) 并放置于资源目录下 (src/main/resources/) 。这里给出一个简单的例子作为参考: ```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <!-- 控制台输出 --> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <!-- 文件输出 --> <File name="MyFile" fileName="logs/app.log"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/> </File> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> <AppenderRef ref="MyFile"/> </Root> </Loggers> </Configuration> ``` 此 XML 片段设置了两种类型的日志目的地——控制台和文件,并指定了不同的格式化模式以及最低级别的消息级别。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值