- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CCNA考试的常遇到的实验命令总结
五个Java 日志记录的规则
日志记录是在软件开发过程中常常需要考虑的关键因素。
当产品运行出错时,日志文件通常是我们进行错误分析的首要选择。
而且,在很多情况下,它们是我们手上唯一可以用来查明发生状况和问题根
本原因的信息。
可见,正确记录需要的信息是极其重要的。
以下5条日志规则,让我们可以检查和改进在代码中操作日志记录的方式。
同时也请注意,我们既不会讨论怎么配置一个日志引擎,也不会相互比较。
规则1、日志是面向读者的
日志消息不仅要对书写(日志)代码的人有意义,也应该对日志文件的读者有
意义。
这似乎是一条很明显但却经常违背的规则。
ERROR: Save failure - SQLException
举个例子吧,我们来看看下面这条日志信息:
ERROR: Save failure - SQLException
保存什么呢?这条消息在开发者看来是能说明一些问题的,但是对于正在苦
苦查看产品问题的可怜家伙来说,却毫无用处。
RROR:Save failure- Entity Person, Data [id 123 surname Mario] -
SQLException
更合适的信息是这样的:
RROR:Save failure- Entity Person, Data [id 123 surname Mario] -
SQLException
这就解释了你想要存储的东西(这里是一个 Person,是一个 JPA 实体)以及
这个 Person 实例相关的内容。
请注意相关这个单词,并不是指泛泛的全体:我们不应该让无价值的信息使
日志文件变得乱糟糟,比如说完整打印所有的实体字段。
通常,实体名字和其逻辑关键字足以识别在表格中的一条记录了。
规则2、匹配日志等级和执行环境
厚nbsp;学nbsp; 网
在 Java 系统中提供的所有日志管理工具和引擎都有日志等级(ERROR、
INFO……)的概念,这将有可能过滤掉等级过低的消息。
例如,Java util logging 使用如下的等级:SEVERE、WARN、INFO、FINE、
FINER、FINEST(+CONFIG 和 OFF)。相反,两个最受欢迎的日志管理工具,Apache
Commons Logging 和 SLFJ 更倾向于如下的等级:FATAL、ERROR、WARN、INFO、
DEBUG、TRACE。
日志过滤等级则需要取决于代码的开发阶段:成品与仍处在测试、集成环境
下的代码日志等级就不能相同。
更具体的来说,日志等级也应该参考代码的归属情况。
一般而言,我们自己的应用程序代码应该比使用的任何第三方开发库拥有更
详细的日志记录。
比如说,Apache 的通用调试消息出现在我们的日志文件中,就没有多大意
义。
我通常像这样配置日志记录:
成品阶段: 我的代码是 INFO 等级,第三方库是 WARN。
测试、集成阶段:我的代码是 DEBUG 等级,第三方库是 WARN(或者如果需
要的话是 INFO)。
开发阶段:任何有意义的信息。
注意:个人而言,我不建议使用 TRACE/FINEST 等级(我并不是唯一持这种
观点的人,可以参考 这里 的例子)。
我并没有发现 DEBUG 和 TRACE 有多大的区别,而年轻团队的成员常常苦恼
于到底是使用 DEBUG 还是 TRACE 。
根据 KISS 原则,我建议只使用 RROR、WARN、INFO 和 DEBUG 等级。
规则3、提交前去除编码帮助日志
编码时,我们常常会使用 logger 或是 System.out 在代码中添加日志消
息,来更好地掌握应用程序在执行、调试期间发生的状况。
void aMethod(String aParam) {
LOGGER.debug(“Enter in aMethod”);
if (“no”.equals(aParam)) {
厚nbsp;学nbsp; 网
LOGGER.debug(“User says no”);
….
您可能关注的文档
最近下载
- 数字产业集聚与区域经济韧性——基于省级面板数据的实证分析.pdf VIP
- 职业中学学生职业选择与学习动机研究教学研究课题报告.docx
- PGT25PLUS燃气轮机结构介绍(参考).ppt VIP
- 10.多撇不同向 课件-六年级上册小学书法(苏少版).pptx VIP
- 11一字无二捺 教学课件 六年级上册书法(苏少版).ppt VIP
- 2025年元宇宙产业发展趋势报告:区块链技术基础设施建设创新.docx VIP
- 跨境电商出口跨境电商行业跨境电商出口市场分析与发展趋势报告.docx
- 初中数学教学中推理能力的培养与数学学习策略的关系研究教学研究课题报告.docx
- 跨境电商跨境电商平台跨境电商平台跨境电商平台运营策略研究报告.docx
- 1平正安稳 教学课件 六年级下册书法(苏少版).ppt VIP
文档评论(0)