软件构造---log4j的配置和使用
log4j的配置和使用---IDEA
Log4j是Apache的一个开源项目,使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。这些可以通过一个配置文件来灵活地进行配置。
但是自己在配置过程中,浏览了好多博客,都是这里看一点,那里找一点,没有完全详细的介绍,这里自己简单总结一下,因为通过软件构造几次试验,感觉日志功能还是挺实用的,而log4j功能又很强大,如果能通过配置文件灵活配置显然是极好的。(我用的IDE是IntelliJ IDEA,Eclipse可能会有不同)
添加依赖
在pom.xml中添加依赖
- <!-- 依赖 -->
- <dependencies>
- <dependency>
- <!--log4j依赖-->
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- </dependency>
- </dependencies>
- </project>
导入项目
在官网上下载http://logging.apache.org/log4j/1.2/download.html,得到压缩文件log4j-1.2.17.zip,解压得到log4j-1.2.17.jar包
File->Project Structure
选择Mudules--->Dependencies
看到右边的加号,选择第一个JARs or directories...导入刚才下载解压的log4j-1.2.17.jar
配置文件
在res目录下创建log4j.properties文件(为什么在res目录下,是因为我的pom.xml配置文件要求的)
(如果后面配置不成功,请放在src目录下)
文件格式(properties格式)
- log4j.rootLogger = info,I,W
- log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
- log4j.appender.I.File = res/info.log
- log4j.appender.I.Append = true
- log4j.appender.I.Threshold = INFO
- log4j.appender.I.layout = org.apache.log4j.PatternLayout
- log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
- log4j.appender.W = org.apache.log4j.DailyRollingFileAppender
- log4j.appender.W.File = res/warn.log
- log4j.appender.W.Append = true
- log4j.appender.W.Threshold = WARN
- log4j.appender.W.layout = org.apache.log4j.PatternLayout
- log4j.appender.W.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
详细格式介绍我参考了博客https://blog.csdn.net/xianymo/article/details/51026663,侵删
一下为我认为重点理解的地方,简单说一下
1. 配置根Logger:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的级别,Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。定义级别后,在此级别以下的级别信息将不会被打印出来,比如我的例子:level是info,那么logger.debug()的信息就不会被打印出来。