Java日志处理

系列文章目录

还没写好的连接。。。



前言

日志还是比较重要的,没有日志没办法查看问题,想找个时间整理下
准备吧每个组件试试,先写个开头。。。


Java原生日志处理

Java原生的日志处理类
可以理解为Java最底层的日志处理 ,但也意味着很老,也就是不好用,一般都是使用第三方开发的日志处理组件
关于该原生日志,可以参看如下:

import java.util.logging.Logger;

/**
 * jdk 自带日志类
 * Java最基本的日志打印,但一般不用
 */
public class LoggerMain {

    public static void main(String[] args) {

        System.out.println("jdk 自带日志类,日志级别输出");

        Logger logger = Logger.getGlobal();
        logger.severe("service...");
        logger.warning("warning...");
        logger.info("info...");
        logger.config("config...");
        logger.fine("fine...");

    }

}

执行看下效果

Connected to the target VM, address: '127.0.0.1:63046', transport: 'socket'
jdk 自带日志类,日志级别输出
五月 15, 2022 3:25:25 下午 com.junwei.LoggerMain main
严重: service...
五月 15, 2022 3:25:25 下午 com.junwei.LoggerMain main
警告: warning...
五月 15, 2022 3:25:25 下午 com.junwei.LoggerMain main
信息: info...
Disconnected from the target VM, address: '127.0.0.1:63046', transport: 'socket'

Process finished with exit code 0

并不是每个级别的日志都会被打印,每个处理都被标定了相应的级别,可以参考类:java.util.logging.Level,在上面的代码中,Level.INFO级别已下的日志不会被打印


Apache JCL

jcl 全名为 Jakarta Commons-logging
他是Apache 开源的对jdk log进行封装的log组件
他可以配合log4j,不需要强依赖他们,松耦合的状态

1.原理

  1. 首先去找配置文件commons-logging.properties
    找不到的情况下,那么使用默认Log的实现类
  2. 找到是否有其他的组件库,比如log4j
  3. 找不到,使用jdk的原生
  4. 找不到,结合commons-logging自己提供这个日志实现类

2.使用

引入comment-logging库
引入jar包:

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

需要借助配置文件进行配置
commons-logging.properties文件配置

# 使用JDK1.4
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

# commons-logging自带日志实现类
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.SimpleLog

# commons-logging自带日志实现类。它实现了Log接口。其输出日志的方法中不进行任何操作
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog

# 使用Log4J
# 需要配置log4j.properties信息
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

# 使用 avalon-LogKit
#org.apache.commons.logging.Log=org.apache.commons.logging.impl.LogKitLogger

测试代码:

在这里插入图片描述

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * jcl
 */
public class JclMain {

    public static void main(String[] args) {

        Log log = LogFactory.getLog(JclMain.class);
        log.info("info...");
        log.warn("warn...");

    }
}

配置不同,日志实现不同,打印输出格式也不同

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值