所有分类
  • 所有分类
  • 未分类

Java日志–commons-logging–使用/教程/实例

简介

说明

本文用示例介绍commons-logging的用法。也介绍相关知识。

官网

官网:Apache Commons – Apache Commons
官网下载:Apache Commons Logging – Download Apache Commons Logging

commons-logging简介

说明
JCLJakarta  Commons-logging(JCL)是apache最早提供的日志的门面接口。
作用将一些具体的日志组件抽象为接口,实现日志操作的解耦和可插拔,让众多的日志工具有一个共同的操作方式。
优点系统换了一个日志源后,不需要更改代码。
支持的日志系统java.util.logging,simplelog(commons-logging自带日志实现类),log4j,avalon-Logkit
切换日志系统方法commons-logging.properties;是否提供相应包
使用jcl的框架Spring, SpringBoot, hibernate, Structs

选择日志系统

按照顺序,寻找过程会在找到第一个工具时中止

1. classpath下的commons-logging.properties文件:org.apache.commons.logging.Log配置属性的值
2. 系统中属性中名叫org.apache.commons.logging.Log的值
3. 若classpath中有log4j包,则使用Log4j作为日志实现类
4. 若jdk中有java.util.Logging,则使用。(jdk1.4及之后有java.util.Logging)
5. 使用commons-logging自己提供的一个简单的日志实现类SimpleLog

org.apache.commons.logging.Log 的具体实现有如下:
        —org.apache.commons.logging.impl.Jdk14Logger  使用 JDK的java.util.Logging 。
        —org.apache.commons.logging.impl.Log4JLogger  使用 Log4J 。
        —org.apache.commons.logging.impl.LogKitLogger    使用 avalon-Logkit 。
        —org.apache.commons.logging.impl.SimpleLog      common-logging 自带日志实现类。
        —org.apache.commons.logging.impl.NoOpLog          common-logging 自带日志实现类。它实现了 Log 接口。 
                                                                                             其输出日志的方法中不进行任何操作。

maven依赖

<dependency>
	<groupId>commons-logging</groupId>
	<artifactId>commons-logging</artifactId>
	<version>1.2</version>
</dependency>

示例

示例1:SimpleLog

java程序

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
 
public class HelloWorld {
	private final static Log logger = LogFactory.getLog(HelloWorld .class);
 
	public static void main(String[] args) {
		logger.debug("DEBUG ...");
		logger.info("INFO ...");
		logger.error("ERROR ...");
	}
}

maven依赖

<dependency>
	<groupId>commons-logging</groupId>
	<artifactId>commons-logging</artifactId>
	<version>1.2</version>
</dependency>

配置文件

commons-logging.properties

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

测试

[INFO] HelloWorld – INFO …
[ERROR] HelloWorld – ERROR …

示例2:log4j

java程序

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
 
public class CommonsTest {
	private final static Log logger = LogFactory.getLog(CommonsTest.class);
 
	public static void main(String[] args) {
		logger.debug("DEBUG ...");
		logger.info("INFO ...");
		logger.error("ERROR ...");
	}
}

maven依赖

<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>

配置文件

commons-logging.properties     //本处可以不提供

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

log4j.properties

log4j.rootLogger=DEBUG,console
 
# 输出到控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
# 设置输出样式    
log4j.appender.console.layout=org.apache.log4j.PatternLayout
# 日志输出信息格式为   
log4j.appender.console.layout.ConversionPattern=[%-d{yyyy-MM-dd HH:mm:ss}]-[%t-%5p]-[%C-%M(%L)]: %m%n

测试

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录