这是我使用(但我用log4net的,但我想它的相同)
.trace() - 是用来记录的东西像函数的入口和出口,和巨大的datadumps
for(a in l) { trace("List contents: "+ a) }
的.debug() - 是考虑分支何时打印的信息完整1(一)行。 您可能在单个函数中有几条调试语句,但不是1条pr线。 当你阅读调试语句时,它应该看起来像一个简洁版本的
函数。
.debug("Checking if current account {} for user {} has more than {} amount", amount);
.debug("Account criteria met for account {} for user {}; making withdrawel of {}", otheramount);
.debug("Account {} debited by {} amount. Transaction key {}");
每条调试行都必须是独立的,并且包含理解它所需的所有信息。有没有一条线只读“检查帐户级别”,因为你的下一个问题将是哪个帐户?什么用户?什么数量?
.info() - 最多只有1个或2个pr函数,并且只在高级作用域中。必须完成数据。
.info("Withdrawel procecss complete for account {}, user {}, for amount {}");
.warn() - 非严重错误,数据完整,所以你可以通过这些来一个邮件记录器,并在一段时间检查一次该邮箱。
.error() - 与警告相同,但更重要。用户被阻止实现他的目标,所以你想更频繁地查看。
.fatal() - 如果可能的话,应直接转到sysadm的寻呼机,并提供关于服务器/机器名称的信息。
除此之外,请确保每个类都具有基于该类的自己的记录器,因此即使在运行时,您也可以轻松地为代码的特定区域打开和关闭日志。
只是为了清楚起见,您是否对如何查找NLog跟踪语句的实例感兴趣,或寻找一种更好的方法来记录一般情况? – mfanto