千家信息网

java日志打印怎么使用

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容介绍了"java日志打印怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简介日志打
千家信息网最后更新 2025年02月23日java日志打印怎么使用

本篇内容介绍了"java日志打印怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、简介

  • 日志打印是java代码开发中不可缺少的重要一步。

  • 日志可以排查问题,可以搜集数据

二、常用日志框架

比较常用的日志框架就是logback, 一些老项目会使用log4j,他们用的都是slf4j-api统一接口。

(1) 使用log4j

log4j使用:1. slf4j-api-1.5.11.jar2. slf4j-log4j12-1.5.11.jar3. log4j-1.2.15.jar4. log4j.properties

代码中

import  org.slf4j.Logger;import  org.slf4j.LoggerFactory;Logger logger = LoggerFactory.getLogger(xx.class);

(2) 使用logback

logback使用:1. slf4j-api-1.5.11.jar2. logback-core.jar3. logback-classic.jar4. logback.xml

代码同log4j

import  org.slf4j.Logger;import  org.slf4j.LoggerFactory;Logger logger = LoggerFactory.getLogger(xx.class);

三、日志级别

TRACE < DEBUG < INFO < WARN < ERROR

日常使用较多的是error, info , debug

四、logback简单介绍

简单介绍下常用的logback,logback优点:

  • 比log4j更快

  • 和log4j使用了同一个接口,slf4j-api,可以非常方便切换

  • 定义了功能非常丰富的appender

  • 支持日志压缩

logback要正确理解xml配置文件

  • configuration:总的父节点

  • property:自定义属性

  • appender:输出控制器,可以输出到控制台,自定义文件等

  • logger:日志级别

  • root:控制器级别

一个例子:

    XXXXXXXX                                                                                                                            DEBUG                            ${log.pattern}                                                                                                                ERROR                        ${log.path}/error.log                                        ${log.path}/error-%d{yyyyMMdd}.%i.log.zip                        ${maxHistory}                        2GB                                            100MB                                        ${log.pattern}                                                                                                                INFO                        ${log.path}/info.log                                        ${log.path}/info-%d{yyyyMMdd}.%i.log.zip                        ${maxHistory}                        2GB                                            100MB                                        ${log.pattern}                                                                                                                DEBUG                        ${log.path}/debug.log                                        ${log.path}/debug-%d{yyyyMMdd}.%i.log.zip                        ${maxHistory}                        2GB                                            100MB                                        ${log.pattern}                                                        

五、常见问题

  • 1、日志打的少,不好排查问题?

我们经常会遇到一个生产问题,去看日志,啥都没有,只能重新加日志,发包,再排查问题;
所以我们要养成打日志的习惯,开发环境可以debug看,生产看不了,只能加日志,在开发的时候就把必要的日志加上;
比较重要的是接口的入参,返回,重要节点开始,结束,mq发送接收等。

  • 2、error, info , debug分别都什么时候使用?

error: 捕获异常的时候使用,这个没有异议
info: 比较重要的信息,使用频次不是非常高的场景,比如入参出参
debug: 一个是不是特别重要的信息,但是又不能少,还有数据量大的数据,比如大量mq信息,访问频繁的接口入参出参

  • 3、开启debug好多无用的debug信息怎么办?

把项目的目录定为debug,其它定成info。这样只有本项目的debug日志会打印了
logging.level.root=info
logging.level.cn.mypackage=debug

  • 4、需要自定义日志文件吗?

logback可以把日志写进自定义文件,debug,info,error分开存储,历史数据还能压缩;
按自己项目的需求来,大型项目建议分开存储。

  • 5、springboot启动命令自带的日志和自定义日志文件的日志重复怎么办?

我们一般启动springboot项目命令为:nohup java -jar XXXXXXXX.jar >> XXXXXXX.log 2>&1 &
这个会生成一个日志文件,logback配置也会生成自己的日志文件,就会重复,造成空间浪费,如何取舍?

如果你们公司统一打包脚本的话,就用命令生成的日志文件吧,把logback配置去掉;
如果你们公司自由度比较高,就用logback生成的日志,把命令改成 >/dev/null 就可以了

  • 6、debug日志正确写法?

有些人可能打debug日志直接logger.debug("****");如果项目的日志级别比较高,就比较浪费性能,可以加一个if (log.isDebugEnabled()) {    log.debug("XXXXXXXXXXXXX");}
  • 7、动态日志级别?

有些公司支持动态配置文件,比如diamond,nacos等,可以修改配置文件的级别,动态生效logging.level.root=info#logging.level.root=debug日常开在info,出了问题开debug找,资源有限可以这样做,不推荐生产使用

"java日志打印怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

日志 文件 级别 问题 项目 重要 配置 信息 命令 接口 数据 生成 代码 公司 动态 常用 时候 开发 控制 生产 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 氩紫网络技术有限公司 战争附言一个服务器都没了 网络安全论文怎么瘦肚子 交通局网络安全工作报告 ibmx86服务器管理地址 软件开发毕设答辩问题 战地五服务器在哪个国家怎么看 生产环境nacos数据库用什么 网络安全解释正确的是 怎么查看mysql数据库的账号密码 40年前服务器 武汉启辰星软件开发有限公司 刀塔传奇数据库 网络安全学院建设方案 张家港数据网络技术收费 无锡应用软件开发培训 四大网络安全公司排名 易语言数据库如何打开 如何使用彭博法律数据库 替换服务器文件破解t3 网络安全零事件报告怎么写 数据库技术是如何在cad中应用 今日头条的服务器是什么样子 整个数据库搜数据库 浙江游戏软件开发管理 部队网络安全清查报告 宜昌市网络安全保卫支队电话 为什么要颁发网络安全法 过程控制中的网络技术论文 四大网络安全公司排名
0