JAVA项目日志管理(包含各种类型日志解决方案,超详细)

  • 概述:

    1、作用:记录行为信息,记录错误过程,方便查找历史记录,线上问题排查。
    2、核心问题:记录信息过多会导致文件存储过大,打印过程消耗性能,查找问题难以快速定位;记录信息过少则在需要时无法找到问题根源,无法追踪问题。
    3、需根据需求在性能,存储,信息量,查询定位做出权衡。
  • 输出方式:

    1、输出控制台打印,如log.info(),System.out.println();一般在开发环境使用。线上环境需关闭控制台打印日志。

    2、输出至文件存储,如使用log4j,logback输出至文件,JVM启动参数中配置打印GC日志。

    3、存储数据库表中,一般为项目定制日志,如数据新增,更新日志。

    4、输出志中间件中,如使用ELK存储在Elasticsearch中。

  • 各日志类型解决方案:

    1、常规堆栈日志:如项目启动过程打印的各种初始化实例,建立连接日志。一般使用Logback,log4j2实现,log4j性能较差,一般不推荐,而门面通常使用Slf4j显示输出日志,这里贴上,(slf4j log4j logback的关系)链接,具体可以自己查看。一般常规项目使用Slf4j结合Logback实现,SpringBoot项目可以结合 Spring Boot Actuator实现日志打印及动态修改日志

    2、存储至数据库日志:最简单的实现就是接口内部直接往数据库中插入一条日志数据,这里贴一个常规建表sql语句。

    CREATE TABLE `system_log` (
      `id` varchar(32) NOT NULL DEFAULT '' COMMENT 'id',
      `
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值