一:常见的日志框架 Log4j、SLF4J、Logback、Log4j 2一般选用Log4j+SLF4J 或者单独 Logback1、为什么需要在 Java 中打印日志 ? 在本地环境下,使用 System.out.println() 打印日志是没问题的,可以在控制台看到信息。但如果是在生产环境下的话, System.out.println() 就变得毫无用处了。2.常见的日志级别 使用 Java
转载
2023-07-25 22:16:22
615阅读
java优雅的打印日志——对controller层方法的进入和结束地方打印日志——直接使用
转载
2023-06-07 19:15:53
199阅读
我是 ABin-阿斌:写一生代码,创一世佳话,筑一揽芳华。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。 文章目录前言1. 选择恰当的日志级别2. 日志要打印出方法的入参、出参正例如下:3. 选择合适的日志格式4. 遇到if...else...等条件时,每个分支首行都尽量打印日志正例:5.日志级别比较低时,进行日志开关判断正例:6. 不能直接使用日志系统(Log4j、Logback
转载
2023-06-28 19:59:06
527阅读
优雅的在Java程序中打印日志问题来源第一部分:常用的日志框架Log4j & Log4j 2Logback第二部分:SLF4J第三部分:日志滚动及其原理日志滚动配置日志滚动原理 问题来源问题来源:来源于一次agent机器的磁盘空间报警,追查的过程中发现是日志的锅(业务使用的过程中不规范,我们本身没有兜底的日志策略,错误日志打印的太多,撑死了磁盘)兜底策略——限制日志大小上限,采用滚动写日
转载
2023-08-21 21:55:18
162阅读
前言 日志是快速定位问题的好帮手,是撕逼和甩锅的利器!打印好日志非常重要。今天我们来聊聊日志打印的15个好建议~1. 选择恰当的日志级别 常见的日志级别有5种,分别是error、warn、info、debug、trace。日常开发中,我们需要选择恰当的日志级别,不要反手就是打印info哈~ error:错误日志,指比较严重的错误,对正常业务有影响,需要运维配置监控的;warn:警告日志
转载
2023-09-04 09:52:23
480阅读
目录一、背景二、日志目录的设置三、准备工作1、建表2、准备Springboot工程3、日志目录定义4、ThreadLocalHolder5、BaseRequest6、BaseResult:7、BaseInterceptor四、开始编码1、接口层ApiInterceptor2、持久层DalInterceptor3、拦截规则4、logback-spring.xml五、测试1、正常测试2、异常测试六、g
转载
2023-08-23 15:25:09
614阅读
问题为了保证用户的信息安全,敏感信息需要脱敏。 项目开发过程中,每次处理敏感信息的日志问题感觉很麻烦,大部分都是用工具类单独处理,不利于以后统一管理,很不优雅。 于是,就写了一个基于 java 注解的日志脱敏工具。github sensitive项目介绍日志脱敏是常见的安全需求。普通的基于工具类方法的方式,对代码的入侵性太强。编写起来又特别麻烦。本项目提供基于注解的方式,并且内置了常见的脱敏方式,
转载
2023-09-26 22:05:03
57阅读
在程序中打错误日志的主要目标是为更好地排查问题和解决问题提供重要线索和指导。但是在实际中打的错误日志内容和格式变化多样,错误提示上可能残缺不全、没有相关背景、不明其义,使得排查解决问题成为非常不方便或者耗时的操作。而实际上,如果编程的时候稍加用心,就会减少排查问题的很多无用功。在阐述如何编写有效的错误日志之前,了解错误是怎么产生的, 非常重要。错误是如何炼成的对于当前系统来说, 错误的产生由三个地
转载
2024-07-08 11:03:23
23阅读
trace:最详细的信息,一般这些信息只记录到日志文件中。2. 日志要打印出方法的入参、出参我们并不需要打印很多很多日志,只需要打印可以快速定位问题的有效日志。有效的日志,是甩锅的利器!哪些算得的上有效关键的日志呢?比如说,方法进来的时候,打印入参。再然后呢,在方法返回的时候,就是打印出参,返回值。入参的话,一般就是userId或者bizSeq这些关键信息。正例如下:public String t
转载
2024-08-18 10:27:43
128阅读
问题 为了保证用户的信息安全,敏感信息需要脱敏。项目开发过程中,每次处理敏感信息的日志问题感觉很麻烦,大部分都是用工具类单独处理,不利于以后统一管理,很不优雅。于是,就写了一个基于 java 注解的日志脱敏工具。 github sensitive 项目介绍 日志脱敏是常见的安全需求。普通的基于工具类
转载
2021-07-06 14:20:00
1617阅读
2评论
最近在对项目的日志进行优化,主要是如何减少不必要的日志输出,如何优化日志输出的性能, 以及当前code中,一些不规范的日志输出代码的优化。基于此,对java日志进行了一个系统的梳理。 今天这里,主要分享一个点,干货!具体的理论就不再重复搬运了,大家可以自行搜索脑补。 Spring Cloud + Slf4j + Logback 架构打印日志的正确姿势 import
转载
2024-02-03 18:01:42
77阅读
# Java优雅地打印错误日志
## 引言
在软件开发过程中,错误日志是非常重要的调试工具。当程序发生异常时,通过打印错误日志可以帮助我们定位问题并进行修复。然而,如果错误日志的打印方式不得当,可能会导致日志冗长、难以阅读,给问题排查带来困难。因此,本文将介绍如何在Java中优雅地打印错误日志,以便开发人员更高效地进行故障排查。
## 整体流程
下面是优雅地打印错误日志的整体流程,为了更好地理
原创
2024-01-13 10:15:24
110阅读
通过向RestTemplate中添加拦截器实现http请求日志的优雅打印
原创
2023-07-01 09:56:12
2320阅读
点赞
# 优雅地打印Base64日志的Java后端实践
## 问题背景
在Java后端开发中,我们经常需要处理Base64编码和解码的操作。然而,当我们在日志中输出Base64的内容时,由于其特殊的字符集,经常会出现乱码或无法直接阅读的情况。因此,如何优雅地打印Base64的日志成为一个实际问题。
## 问题分析
要解决这个问题,我们需要在日志中打印Base64的内容,并且确保其可读性。在Java中
原创
2023-10-02 12:30:16
973阅读
在开发中日志打印是非常重要的,比如:(用于监控,报表分析,问题排查)
如何对操作数据中所有接口进行日志打印呢?
转载
2023-06-08 11:08:29
730阅读
1.日志级别log.error()适用于出现系统异常、重要错误的场景log.warn()适用于不影响业务场景的异常场景,但是存在告警信息log.info()适用于业务重要的信息,便于信息查询跟踪定位排查等。(例如调用重要接口,便于与对方系统进行问题排查)log.debug()适用于开发调试阶段,快速问题定位,信息查询等。如果日志不分级别或级别不合理,则定位问题时就无法快速有效地屏蔽大量低级别信息,
转载
2023-08-30 13:01:23
238阅读
前言关于日志,在大家的印象中都是比较简单的,只须引入了相关依赖包,剩下的事情就是在项目中“尽情”的打印我们需要的信息了。但是往往越简单的东西越容易让我们忽视,从而导致一些不该有的bug发生,作为一名严谨的程序员,怎么能让这种事情发生呢?所以下面我们就来了解一下关于日志的那些正确使用姿势。正文日志规范命名首先是日志文件的命名,尽量要做到见名知意,团队里面也必须使用统一的命名规范,不然“脏乱差”的日志
转载
2024-07-08 10:50:19
98阅读
前言logback继承自log4j,它建立在有十年工业经验的日志系统之上。它比其它所有的日志系统更快并且更小,包含了许多独特并且有用的特性。如果使用的是Maven项目,可以在 src/resources 下新建logback.xml文件。正题还是直接步入正题吧,说些其他的就词穷了。输出规则及层级根据当前ROOT级别,日志输出时,级别高于ROOT默认的级别时会输出。各级排序的顺序:TRACE <
转载
2023-11-11 07:36:31
383阅读
总结一下日志输出的几个命令:-XX:+PrintGC 输出简略信息-XX:+PrintGCDetails 输出详细信息-XX:+PrintG
转载
2023-05-24 15:35:21
946阅读
开头日志在一个项目中是不可或缺的,如果是单一的API服务端,可采用切面拦截所有Controller的请求,已达到目的,若是前后端不分离项目,则使用注解会更佳。首先定义注解@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface WebLog {
boolean fl
转载
2024-07-23 16:13:12
35阅读