Java使用Log日志系统(common-logging和log4j)
2017-06-12 12:59
513 查看
使用common-logging和log4j
准备开一大项目的话,日志系统必不可少。Apache为了让众多的日志工具有一个相同操作方式,实现了一个通用日志工具包:commons-logging。而Log4j基本上是Java平台上最好的日志组件了。使用ommons-logging的Log接口,并由commons-logging在运行时决定使用哪种日志架构(如Log4j)。现在,Apache通用日志工具commons-logging和Log4j已经成为Java日志的标准工具。
日志级别
log4j主要有如下的信息级别:fatal:非常严重的错误,导致系统中止。期望这类信息能立即显示在状态控制台上。
error:其它运行期错误或不是预期的条件。期望这类信息能立即显示在状态控制台上。
warn:使用了不赞成使用的API、非常拙劣使用API, ‘几乎就是’错误, 其它运行时不合需要和不合预期的状态但还没必要称为 “错误”。期望这类信息能立即显示在状态控制台上。
info:运行时产生的有意义的事件。期望这类信息能立即显示在状态控制台上。
debug:系统流程中的细节信息。期望这类信息仅被写入log文件中。
trace:更加细节的信息。期望这类信息仅被写入log文件中。
通常情况下,我们希望将info级别以上的日志信息输出到控制台,而debug级别以上的信息写入到log文件中,而error信息写入到一个单独的文件中去,下面我们的实例将会实现这样的功能。
Maven/Jar包
需要使用commons-logging.jar和log4j.jar包。如果使用Maven,则需要在pom中添加:<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
项目结构
配置common-logging.properties文件
只需要一行即可,放在classpath下,如果是Maven中就在src/resources下org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger1
1
配置log4j.properties文件
放在classpath下,如果是Maven中就在src/resources下。具体意义看注释。### set log levels ### log4j.rootLogger = debug , stdout , D , E ### 输出到控制台 ### log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target = System.out ## 输出INFO级别以上的日志 log4j.appender.stdout.Threshold = INFO log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n ### 输出到日志文件 ### log4j.appender.D = org.apache.log4j.DailyRollingFileAppender log4j.appender.D.File = D:/logs/log.log log4j.appender.D.Append = true ## 输出DEBUG级别以上的日志 log4j.appender.D.Threshold = DEBUG log4j.appender.D.layout = org.apache.log4j.PatternLayout log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 保存异常信息到单独文件 ### log4j.appender.E = org.apache.log4j.DailyRollingFileAppender ## 异常日志文件名 log4j.appender.E.File = D:/logs/error.log log4j.appender.E.Append = true ## 只输出ERROR级别以上的日志!!! log4j.appender.E.Threshold = ERROR log4j.appender.E.layout = org.apache.log4j.PatternLayout log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
测试
package com.zzkun; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * Created by kun on 2016/5/13. */ public class LogTest { private static Log logger = LogFactory.getLog(LogTest.class); public static void main(String[] args) { logger.trace("我是trace信息"); logger.debug("我是debug信息"); logger.info("我是info信息"); logger.warn("我是warn信息"); logger.error("我是error信息"); logger.fatal("我是fatal信息"); } }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Intellij IDEA中显示颜色
默认是不显示颜色的,安装一个插件后即可显示:Grep Console运行结果
运行结果:文件输出:
相关文章推荐
- Java使用Log日志系统(common-logging和log4j)
- Java使用Log日志系统(common-logging和log4j)
- java日志组件:common-logging和log4j的使用说明
- 使用common-logging与log4j打印日志,发现版本冲突
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- 系统日志处理系列 (一)如何使用logging、commons-logging、log4j输出日志
- java 使用commons-logging和log4j记录日志
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java日志框架:SLF4J, Apache Common-Logging, Log4J和Logba
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
- 使用common-logging与log4j打印日志,发现版本冲突
- java日志组件介绍(JUL,common-logging,log4j,slf4j,logback )
- java的几个日志框架log4j、logback、common-logging
- Java中使用log4j日志系统
- log4j日志管理系统简单使用说明 - open java project(转载)
- java日志组件介绍(common-logging,log4j,slf4j,logback )
- Java知识积累——日志组件:log4j、logback、common-logging
- create log by common-logging and log4j in java project