2011-09-09 26 views
1

当登录到文件时,NLog是否具有任何类型的功能来合并重复的日志消息?任何方式减少使用NLog的重复消息的数量?

相反的:

09/08/2011 17:48:12 Your Foo hit a Bar 
09/08/2011 17:48:13 Your Foo hit a Bar 
09/08/2011 17:48:14 Your Foo hit a Bar 
09/08/2011 17:48:15 Your Foo hit a Bar 
09/08/2011 17:48:16 Your Foo hit a Bar 

做到这一点:

09/08/2011 17:48:12 Your Foo hit a Bar 
09/08/2011 17:48:16 [4 additional messages just like the last one] 

在事物的宏伟计划,这并不是什么大不了的事 - 但它会帮助我减少了一些“在我们的调试日志中发现了“讨厌”。

谢谢!

+0

您如何定义分组规则?相同的信息不间断地重复多次?你会使用哪个时间戳(第一次出现)? – ccellar

+0

我在想,如果当前消息与最近的'书面'消息相同,它将被分组。时间戳将是最后一个相同消息的时间。我喜欢你的缓冲想法。我可以采取措施分叉FileTarget来尝试它。 –

回答

1

NLog中没有任何目标可以解决您开箱即用的问题。如果你真的需要这个,你将不得不实现你自己的包装目标,这个包装目标会在短时间内缓存消息(检测重复)并将其传递给实际目标。

如果您在分析日志时遇到问题,您应该使用工具来过滤日志,或者您应该重新考虑日志记录方法。这些信息是否必要?如果是,请保持原样。单独的时间戳可能是一个有用的信息。如果不是,请更改您的日志记录方法并仅记录有用的信息。

+0

我同意你的评估 - 消除不必要/无用的日志。然而,我真的*希望保持懒惰的程序员,避免做任何思考和/或工作! ;) –