java日志

规范

1 为了节约资源,少用字符拼接,应用占位符

logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol);、

2 .在一个对象中通常只使用一个Logger对象,Logger应该是static final的,只有在少数需要在构造函数中传递logger的情况下才使用private final。

2.输出Exceptions的全部Throwable信息,因为logger.error(msg)和logger.error(msg,e.getMessage())这样的日志输出方法会丢失掉最重要的StackTrace信息。

3.不允许记录日志后又抛出异常,因为这样会多次记录日志,只允许记录一次日志。

2f28b4118b3dddcdc8d804cf534bb568.png

4.不允许出现System print(包括System.out.println和System.error.println)语句。

5.不允许出现printStackTrace。

44a70ea9663808a5544951decaa7f0e2.png

7.有意义的日志

通常情况下在程序日志里记录一些比较有意义的状态数据:程序启动,退出的时间点;程序运行消耗时间;耗时程序的执行进度;重要变量的状态变化。

简介

Spring Boot 整合 slf4j+log4j2 实现日志管理 - 月染霜华 - 博客园

springboot默认使用的日志(规范)接口是slf4j,下面是目前它的流行的2个实现框架:

logback:日志实现框架性能比log4j好很多、比较火热的springboot2.0以后默认推荐使用;
log4j2:Log4j 2是对Log4j的升级版,参考了logback的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升log4j2是目前日志实现框架性能最好的,没有之一。Springbot高版本不在支持log4j, log4j2在使用方面和log4j基本一样,但是log4j2不支持properties配置文件,它支持xml和json格式的配置文件。

使用日志接口便于更换为其他日志框架。若我们原始使用的是logback, 我们要使用log4j2, 我们不用修改Java 代码中的日志相关的码 logger.info(“xxx”),也不用修改日志相关的类的导入的包( import org.slf4j.Logger; import org.slf4j.LoggerFactory;),只需要引入 log4j2 的 jar 和 Log4j2 对应的配置文件即可,

例如:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

// 这了两种写法都 OK,推荐第一种,不用每次都要修改类名
private static final Logger logger = LoggerFactory.getLogger(this.getClass());
private static final Logger logger = LogManager.getLogger(UserController.class);
//...
logger.debug("this is debug");
logger.info("this is info");

log4j2的依赖jar包:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-log4j2 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

配置文件:

springboot使用slf4j+log4j2实现项目日志记录_Wait for的博客-CSDN博客_springboot使用slf4j

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值