Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging Log4Net:调试vs信息?_Logging_Log4net - Fatal编程技术网

Logging Log4Net:调试vs信息?

Logging Log4Net:调试vs信息?,logging,log4net,Logging,Log4net,在Log4Net中,Debug方法和Info方法有什么区别?一般来说,我应该在什么时候使用一个而不是另一个 例: 我应该在1,2,3,4个位置使用调试方法吗?如果您需要此信息只是为了调试,您应该使用调试;-) 帮助您开发和改进代码的信息。。。变量的值,例如 例如,在生产级别中使用info。可能是一些一般信息,如“已保存客户” 但请注意不要使用太多日志,因为在最坏的情况下,它会降低应用程序的速度,这与过滤某些信息的能力有关 不同之处在于,您可以将系统配置为只记录信息消息而忽略调试消息,也可以将两者

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

例:


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

如果您需要此信息只是为了调试,您应该使用调试;-)
帮助您开发和改进代码的信息。。。变量的值,例如

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


但请注意不要使用太多日志,因为在最坏的情况下,它会降低应用程序的速度,这与过滤某些信息的能力有关

不同之处在于,您可以将系统配置为只记录信息消息而忽略调试消息,也可以将两者都记录,最重要的是,您可以在不重新编译/更改程序的情况下完成此操作

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

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

我倾向于使用信息作为消息,让我了解程序正在做什么(并确认它工作正常),并调试我可能需要的信息,以跟踪它不工作的原因

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

但是,如果处理过程中出现任何问题,我可能需要查看更多(我敢说是调试)有关我正在处理的文件内容的信息以及其他信息,以指示它正在对文件执行什么操作


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

Debug用于调试。信息不用于调试。有什么让人困惑的?你能更新这个问题来解释为什么这个问题令人困惑吗?请你举一个例子,说明一些在你心目中模棱两可的数据。请注意,这些级别会逐渐显示更多的数据。通常信息包括警告、错误和致命信息。见本问题:
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
}