java common log_Java使用Log日志系统(common-logging和log4j)

使用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中添加:

commons-logging

commons-logging

1.2

log4j

log4j

1.2.17

项目结构

03a4fef4a39b339310eb23fad3f4b58d.bmp

配置common-logging.properties文件

只需要一行即可,放在classpath下,如果是Maven中就在src/resources下

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

配置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%n

测试

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信息");

}

}

Intellij IDEA中显示颜色

默认是不显示颜色的,安装一个插件后即可显示:Grep Console

运行结果

运行结果:

ac237814b2e791af6a57a0234963b63b.bmp

文件输出:

61f37e884017580645b7130e67d71946.bmp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值