日志级别的选择:Debug、Info、Warn、Error还是Fatal
日志信息分类
1.等级由低到高:debug<info<warn<Error<Fatal
2.区别:
debug :
级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东;
info:
重要,输出信息:用来反馈系统的当前状态给最终用户的;
warn:
警告,可修复,系统可继续运行下去;
Error:
错误,可修复性,但无法确定系统会正常的工作下去;
Fatal:
严重错误,相当严重,可以肯定这种错误已经无法修复,并且如果系统继续运行下去的话后果严重。
3.使用
什么时候使用 info, warn , error ?
info 用于打印程序应该出现的正常状态信息, 便于追踪定位;
warn 表明系统出现轻微的不合理但不影响运行和使用;
error 表明出现了系统错误和异常,无法正常完成目标操作。
4.格式
总结起来, 错误日志格式可以为:
log.error(“[接口名或操作名] [Some Error Msg] happens. [params] [Probably Because]. [Probably need to do].”);log.error(String.format(“[接口名或操作名] [Some Error Msg] happens. [%s]. [Probably Because]. [Probably need to do].”, params));
或
log.error(“[Some Error Msg] happens to 错误参数或内容 when [in some condition]. [Probably Because]. [Probably need to do].”);log.error(String.format(“[Some Error Msg] happens to %s when [in some condition]. [Probably Because]. [Probably need to do].”, parameters));
[Probably Reason]. [Probably need to do].
在某些情况下可以省略; 在一些重要接口和场景下最好能说明一下。
每一条错误日志都是独立的,尽可能完整、具体、直接说明何种场景下发生了什么错误,由什么原因导致,要采用什么措施或步骤。
5.意义
错误日志是排查问题的重要手段之一。 当我们编程实现一项功能时, 通常会考虑可能发生的各种错误及相应原因:
要排查出相应的原因, 就需要一些关键描述来定位原因。这就会形成三元组:错误现象 -> 错误关键描述 -> 最终的错误原因
需要针对每一种错误尽可能提供相应的错误关键描述,从而定位到相应的错误原因。也就是说,编程的时候,要仔细思考, 哪些描述是非常有利于定位错误原因的, 尽可能将这些描述添加到错误日志中。
日志级别的选择:Debug、Info、Warn、Error还是Fatal相关推荐
- List.size() 问题 Android studio: Verbose,Debug,Info,Warn,Error
目录 List.size() 问题 Android studio: Verbose,Debug,Info,Warn,Error List.size() 问题 list下标从0开始 假设list.siz ...
- log4 日志级别使用
1.日志的级别: 我们现在要调用logger的方法,不过在这个Logger对象中,有很多方法,所以要先了解log4j的日志级别,log4j规定了默认的几个级别:trace<debug<in ...
- Java中的日志级别
昨天校招面试被问到了Java中的日志等级,当时也慌的一批,只说出了其中的三个,在这里细心为大家总结一下. java中⽇志级别有7 个级别: severe.Warning.info.config.fi ...
- 日志级别 debug info warn eirror fatal
日志级别 debug info warn eirror fatal 软件中总免不了要使用诸如 Log4net, Log4j, Tracer 等东东来写日志,不管用什么,这些东东大多是大同小异的,一般都 ...
- Go 学习笔记(54)— Go 第三方库之 uber-go/zap/lumberjack(记录日志到文件、支持自动分割日志、支持日志级别、打印调用文件、函数和行号)
1. 简要说明 zap 是 uber 开源的 Go 高性能日志库,支持不同的日志级别, 能够打印基本信息等,但不支持日志的分割,这里我们可以使用 lumberjack 也是 zap 官方推荐用于日志分 ...
- 调整 Docker 中 nginx 的日志级别
调整 Docker 中 nginx 的日志级别 Intro 最近发现我们的一个应用产生了很多日志,而这些日志大多都是 nginx 的 access_log,我们默认会把标准输出收集到 es 里分析应用 ...
- Log4j日志级别及使用规范
目录 1.日志存储 2.日志工具的选择 3.日志输出级别 4.Log4j配置 5.什么时候应该打日志 6.日志API规范 6.1.Log4j.slf4j对象的声明和初始化,仅以下代码是符合规范的 6. ...
- SpringBoot和日志框架:缘由,日志框架的选择,使用,自定义配置,日志框架切换
日志框架 缘由 如果像我们初学者,想知道代码运行到哪里了,一般都是会System.out.println() 进行输出到控制台查看代码运行的情况,好知道代码错误在哪里 但是大型的系统里面,如果有很多的 ...
- Spring Boot 2动态修改日志级别
本文基于:Spring Boot 2.1.3,理论支持Spring Boot 2.x所有版本. 作为程序猿,定位问题是我们的日常工作,而日志是我们定位问题非常重要的依据.传统方式定位问题时,往往是如下 ...
- java slf4j日志级别_java - 在slf4j中设置运行时消息的日志级别 - 堆栈内存溢出
===============>>#1 票数:41 已采纳 使用slf4j无法做到这slf4j . 我想,缺少这个功能的原因是,几乎不可能为slf4j构建一个Level类型,它可以有效地映 ...
最新文章
- oracle中merge的用法,以及各版本的区别 Create checkbox全选JS(转载)
- 罕见图像揭秘苹果Mesa数据中心
- vue main.js中引入js_web前端的同学不容错过,大厂Vue最佳实践总结,提高竞争力...
- spring @lazy_Spring @Lazy批注用例
- 使用宝塔部署node项目_使用宝塔面板进行项目的自动部署WebHook
- jQuery 中json字符串与对象互转
- Python3_基础部分_第一个Python程序
- vue+bootstrap项目
- c语言数据类型ppt,C语言基本数据类型.ppt
- Windows Phone 7 日历应用的实现
- android系统wifi控制风扇,可手机APP控制的机箱风扇,光污染新玩法
- JAX-RS 从傻逼到牛叉 2:开发一个简单的服务
- 七日杀服务器怎么修改天数,七日杀如何调整天数 | 手游网游页游攻略大全
- 如何学会计算机基础,学会这4点,你就能快速掌握电脑基本操作,摆脱新手的标签...
- 利用snapper实现archlinux的系统还原
- 多元相关性分析_数据分析的方法(三)
- 工业无线客户端服务器,基于4G工业路由器光伏发电无线远程监控解决方案
- 一次Python爬虫实战,解决反爬问题!
- Qt扫盲-QSqlQuery理论总结
- linux之ssh命令