Intellij IDEA 的maven项目使用Log4j 日志文件配置
maven项目使用Log4j 日志文件配置
Slf4j 简介
slf4j 的全称是 Simple Loging Facade For Java,即它仅仅是一个为 Java 程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如 JDBC 一样,只是一种规则而已。所以单独的 slf4j 是不能工作的,必须搭配其他具体的日志实现方案,比如 apache 的 org.apache.log4j.Logger,JDK 自带的 java.util.logging.Logger 以及 log4j 等。
一、引入maven依赖
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency>
Intellij IDEA 引入maven依赖 方法
1. 打开项目的pom.xml文件,按下快捷键Alt+insert,弹出Generate框,选择Dependency
光标需要落在 pom.xml 文件内,按 Alt + insert
2.搜索所需jar的关键字。
这里我们填入 org.slf4j 选择 log4j12:1.4.2
二、创建 log4j.properties 配置文件
在 src/main/resources 目录下创建名为 log4j.properties 的配置文件,配置如下
log4j.rootLogger=INFO, console, file log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.File=logs/log.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.A3.MaxFileSize=1024KB log4j.appender.A3.MaxBackupIndex=10 log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n
日志配置相关说明:
log4j.rootLogger:根日志,配置了日志级别为 INFO,预定义了名称为 console、file 两种附加器
log4j.appender.console:console 附加器,日志输出位置在控制台
log4j.appender.console.layout:console 附加器,采用匹配器布局模式
log4j.appender.console.layout.ConversionPattern:console 附加器,日志输出格式为:日期 日志级别 [类名] - 消息换行符
log4j.appender.file:file 附加器,每天产生一个日志文件
log4j.appender.file.File:file 附加器,日志文件输出位置 logs/log.log
log4j.appender.file.layout:file 附加器,采用匹配器布局模式
log4j.appender.A3.MaxFileSize:日志文件最大值
log4j.appender.A3.MaxBackupIndex:最多纪录文件数
log4j.appender.file.layout.ConversionPattern:file 附加器,日志输出格式为:日期 日志级别 [类名] - 消息换行符
Intellij IDEA 创建log4j.properties 方法
1.创建 在 src/main/ 下创建 resources 目录
选中 src 右键 创建目录
2.设置 resources 为资源文件目录
点击 OK 后 resources 目录上有个 黄色有图标
3.创建 名为 log4j.properties 的配置文件
填入文件名
将上述 配置文件的内容 粘贴至 log4j.properties 文件中
三、在 main 函数中 加入 测试代码
package com.MyLogHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class App { public static final Logger logger = LoggerFactory.getLogger(App.class); public static void main( String[] args ) { System.out.println( "Hello World!" ); String message = "Hello SLF4J"; logger.info("The message is : {}", message); logger.info("slf4j for info"); logger.debug("slf4j for debug"); logger.error("slf4j for error"); logger.warn("slf4j for warn"); } }
其中 App 为这个类的 类名
运行后的结果