当前位置:  开发笔记 > 运维 > 正文

记录错误的最佳做法是什么?

如何解决《记录错误的最佳做法是什么?》经验,为你挑选了2个好方法。

很多次我看到记录这样的错误:

System.out.println("Method aMethod with parameters a:"+a+" b: "+b);
print("Error in line 88");

那么..记录错误的最佳做法是什么?

编辑:

这是java但可能是C/C++,基本等.



1> matt b..:

直接登录到控制台是可怕的,坦率地说,是一个没有经验的开发人员的标志.做这种事情的唯一原因是1)他或她不知道其他方法,和/或2)开发人员没有想到将他/她的代码部署到生产站点时会发生什么,以及如何在该点维护应用程序.处理记录1GB /天或更多完全不需要的调试日志记录的应用程序是令人抓狂的.

普遍接受的最佳做法是使用具有以下概念的Logging框架:

    不同的日志对象 - 不同的类/模块/等可以记录到不同的记录器,因此您可以选择将不同的日志配置应用于应用程序的不同部分.

    不同的日志级别 - 因此您可以调整日志记录配置以仅记录生产中的错误,在开发环境中记录各种调试和跟踪信息等.

    不同的日志输出-框架应允许您配置在那里日志输出,而不需要在代码库中的任何改变发送到.您可能希望将日志输出发送到的不同位置的一些示例是文件,基于日期/大小滚动的文件,数据库,电子邮件,远程接收器等.

    日志框架应该永远永远 永远遥,从日志代码的任何异常或错误.您的应用程序应该无法加载或无法启动,因为日志框架无法创建它的日志文件或获取文件锁定(除非这是一个关键要求,可能出于法律原因,对您的应用程序).

您将使用的最终日志框架当然取决于您的平台.一些常见的选择:

Java的:

Apache Commons Logging

log4j的

的logback

内置java.util.logging

.净:

log4net的

C++:

log4cxx



2> Ken Gentle..:

Apache Commons Logging不适用于应用程序常规日志记录.它旨在供不希望强制API用户使用日志记录的库或API使用.

Commons Logging也存在类加载问题.

选择[很多]日志API中的一个,最广泛使用的可能是log4j或Java Logging API.

如果您想要实现独立性,您可能需要考虑log4j的原作者SLF4J.

说完拿起一个实现,然后使用该执行中的日志记录级别/严重性一致,从而使搜索/过滤日志更容易.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有