0
点赞
收藏
分享

微信扫一扫

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

zhongjh 2022-02-15 阅读 75


简介

说明

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

官网

官网:​​Apache Commons – Apache Commons​​

官网下载:​​Apache Commons Logging - Download Apache Commons Logging​​

commons-logging简介




说明



JCL



Jakarta  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

测试

Java日志--commons-logging--使用/教程/实例_官网


举报

相关推荐

0 条评论