Log4Net:调试与信息?

Shy*_*yju 8 logging log4net

在Log4Net中,Debug方法和Info方法有什么区别?通常什么时候我应该使用一个而不是另一个?

例如:

try

{

 // updating the customer object

 log.Info ("before loading current customer");     //1
 Customer objCustomer=GetCurrentLoggedInCustomer();
 log.Info ("Current customer loaded ");  //2
 objCustomer.LastName="New name";
 log.Info("Before saving");   //3
 objCustomer.Save(); 
 log.Info("Saved");     //4

}
catch(Exception ex)
{
    log.Error(ex.Message);  //5
}
Run Code Online (Sandbox Code Playgroud)

我应该在1,2,3,4位置使用Debug方法吗?

sgm*_*ore 10

这与过滤掉某些信息的能力有关.

不同之处在于您可以将系统配置为仅记录信息消息并忽略调试消息,或者您可以配置为记录两者,最重要的是,您可以在不重新编译/更改程序的情况下执行此操作.

即使记录了所有消息,如果您正在使用查看器,那么您可以设置查看器以过滤掉调试消息并仅显示更高级别(因此更重要的消息)

(注意,实际上有更多的日志记录级别,例如警告,错误和致命)

我倾向于使用info来获取消息,这些消息可以让我了解程序正在做什么(并确认它正常工作)并调试我可能需要尝试追踪其原因的信息.工作

例如,我有一个在服务器上运行的服务,该服务器定期从外部服务器下载文本文件,然后处理该信息.我将程序配置为仅记录信息消息,我使用log.info记录服务启动和停止的时间以及一些其他重要消息.这使得日志文件变小,使我能够在每天使用中看到我想要的信息.

但是,如果处理出现任何问题,我可能需要查看更多(我敢说调试)有关我正在处理的文件内容的信息以及其他信息来指示它对文件的处理方式.

我不需要也不想一直记录这些信息,所以通过使用log.debug,我可以忽略它,直到我需要它为止.(我不想记录它的原因是因为输出非常大,因此减慢了进程).


nWo*_*orx 2

如果您仅需要此信息来进行调试,则应该使用debug
;-) 帮助您开发和改进代码的信息...例如变量的值..

例如在生产级别使用信息。也许是一些一般信息,例如“客户已保存”

但请注意不要使用太多日志,因为在最坏的情况下它会减慢您的应用程序