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
.net 应用程序日志的粒度_.net_Logging_Nlog - Fatal编程技术网

.net 应用程序日志的粒度

.net 应用程序日志的粒度,.net,logging,nlog,.net,Logging,Nlog,大多数开发人员强烈建议您使用log4net、NLog、MS Diag等任何日志框架,都要做两件事: 1实现类特定的日志记录程序,以实现粒度,而不是通过单例发送所有内容 2为您的日志框架创建一个门面,以屏蔽实际的框架选择,这样您就可以无缝地将log4net替换为NLog 第二个我不知道我买了多少,它似乎是一个过度设计解决方案的完美例子。例如,我“可以”编写完全不依赖数据库的应用程序,并且能够连接到任何数据库提供者。但这在实践中需要多久?95%的情况下,您选择目标数据库类型并坚持使用它,对我来说,日

大多数开发人员强烈建议您使用log4net、NLog、MS Diag等任何日志框架,都要做两件事:

1实现类特定的日志记录程序,以实现粒度,而不是通过单例发送所有内容 2为您的日志框架创建一个门面,以屏蔽实际的框架选择,这样您就可以无缝地将log4net替换为NLog

第二个我不知道我买了多少,它似乎是一个过度设计解决方案的完美例子。例如,我“可以”编写完全不依赖数据库的应用程序,并且能够连接到任何数据库提供者。但这在实践中需要多久?95%的情况下,您选择目标数据库类型并坚持使用它,对我来说,日志框架也是一样的,我选择了NLog,这就是我打算在项目生命周期中使用的。如果5年后我需要把它换掉,那么它们很可能是一堆我也需要改变的东西,所以我会把它作为重写的一部分

不过,第一项似乎有着有用的应用。有人能给我提供一些具体的例子,说明他们如何利用这个特性吗?您将如何在实践中实现这一点?比如说,我有一个dataaccess模块由于未知原因突然出现故障……我如何在运行中修改日志设置以关注该模块并获取详细的日志信息?它们是否是一种编程方式,告诉NLog在应用程序运行时重新加载其设置


谢谢

如果在执行过程中无法让NLog重新加载其设置,那么可能已经到了使用另一个日志框架的时候了;如果你不关心你的第二点,并且这不是一个问题,不要包含你的观点。我们想要的只是与您的问题相关的内容,这样我们就可以提供一个好的答案。NLog在设置被更改时会自动重新加载设置。Rob…我从来没有说过,我知道它可以像配置文件那样工作…我问是否有人知道如何通过编程实现它,因为我是NLog的新手