正确的选择log级别
2015-06-24 18:52
190 查看
开发一个应用,日志的重要性不言而喻。然而有时会发现日志中会出现大量的垃圾日志。所谓垃圾日志,就是不需要知道的日志,或者这些日志对于应用查看、跟踪没有什么作用。也正是(但不仅仅是)出于这些问题的考量,常用的日志框架都设置了日志级别。但是在写程序时,这些日志级别该选择哪一种呢,这点并没有一个统一的标准,也没有人教你怎么做。下面就来说说我在开发中是怎么使用这些日志级别的。
一般来说,日志级别有以下几个:
FATAL(CRITICAL)
ERROR
WARN
INFO
DEBUG
它们的权重从大到小。当我们设置好log级别后,比它权重低的其他log都会被忽略。
不同的语言,不同的库有不同的log实现,使用方法也比较简单。但运用好log的关键不在库本身,而是在恰当的地方使用合适的log级别。
在不同的场景下,应该选择相应的log级别。
代表发生了最严重的错误,会导致整个服务停止(或者需要整个服务停止)。简单地说就是服务死掉了。
代表发生了必须马上处理的错误。此类错误出现以后可以允许程序继续运行,但必须马上修正,如果不修正,就会导致不能完成相应的业务。
代表存在潜在的错误,或者触发了容易引起错误的操作。程序可以继续运行,但必须多加注意。
此输出级别常用语业务事件信息。例如某项业务处理完毕,或者业务处理过程中的一些信息。
此输出级别也常用于输出一些对系统有比较大的影响的需要被看到的message,例如数据库更新,系统发送了额外的请求等。
此输出级别用于开发阶段的调试,可以是某几个逻辑关键点的变量值的输出,或者是函数返回值的验证等等。
另外,如果是你写的一些util工具类,在需要加日志的情况下,也可以使用debug。
如果你写的是Helper(业务的辅助类),这应该算是业务处理相关的,所以应该用info。
一般来说,日志级别有以下几个:
FATAL(CRITICAL)
ERROR
WARN
INFO
DEBUG
它们的权重从大到小。当我们设置好log级别后,比它权重低的其他log都会被忽略。
不同的语言,不同的库有不同的log实现,使用方法也比较简单。但运用好log的关键不在库本身,而是在恰当的地方使用合适的log级别。
在不同的场景下,应该选择相应的log级别。
FATAL(CRITICAL)
代表发生了最严重的错误,会导致整个服务停止(或者需要整个服务停止)。简单地说就是服务死掉了。
ERROR
代表发生了必须马上处理的错误。此类错误出现以后可以允许程序继续运行,但必须马上修正,如果不修正,就会导致不能完成相应的业务。
WARN
代表存在潜在的错误,或者触发了容易引起错误的操作。程序可以继续运行,但必须多加注意。
INFO
此输出级别常用语业务事件信息。例如某项业务处理完毕,或者业务处理过程中的一些信息。
此输出级别也常用于输出一些对系统有比较大的影响的需要被看到的message,例如数据库更新,系统发送了额外的请求等。
DEBUG (或者TRACE、FINE)
此输出级别用于开发阶段的调试,可以是某几个逻辑关键点的变量值的输出,或者是函数返回值的验证等等。
另外,如果是你写的一些util工具类,在需要加日志的情况下,也可以使用debug。
如果你写的是Helper(业务的辅助类),这应该算是业务处理相关的,所以应该用info。
相关文章推荐
- 单片机简述
- 30天,APP创业从0到1【7.11郑州站】
- jvm优化
- tomcat下的work工作夹作用原理
- 3.2. Grid Search: Searching for estimator parameters
- 乐观锁与悲观锁
- 用jquery把一个List里面的对象的属性,依次填入到一个table里面啊
- 手机访问本地服务器(本地无网络情况)
- STM32 SPI SLAVE
- image sensor 关于像素的误解
- java和andorid开发所需的环境的搭建
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- Comparing randomized search and grid search for hyperparameter estimation
- CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
- What's the difference between Template and Table in Smartforms
- 10-【MongoDB入门教程】 Journaling日志机制
- windows server 2012 iis8.0部署mvc报错:未能加载文件或程序集“System.Web.Http.WebHost
- sdl 使用介绍网址
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- Bluemix云平台实践: CLI应用之DB2控制台(1)