【问题标题】:line numbers are disappear on production in the NLog logs行号在 NLog 日志中的生产中消失
【发布时间】:2014-02-08 20:54:43
【问题描述】:

我使用 ${callsite} 参数配置了 NLog 布局以具有方法名称和行号,它在本地运行良好,如下所示。

Application_Start(Global.asax.cs:33)

但它正在更改为Application_Start,生产时没有行号。我猜这是因为它无法在没有 .pdb 文件的情况下访问行号,但我使用的是 .NET 4.5,它可以通过调用者属性在没有 .pdb 文件的情况下访问行号。而且我知道 NLog 还没有针对 .NET 4.5 进行自我优化。

有没有办法使用 NLog 为 .NET 4.5 的生产添加行号?

【问题讨论】:

  • 运送 PDB 文件将是明显的解决方法。你能做到吗?
  • 那不会造成一些性能开销?
  • 只是运送文件,我不这么认为。如果您打开了很多跟踪级别的日志记录,那么就会有开销..

标签: c# .net-4.5 nlog


【解决方案1】:

NLog 不使用 .NET 4.5 中的新属性

它使用StackTrace 类。

这从source code 中可以明显看出。

因此,您需要 .pdb 文件作为行号。

【讨论】:

  • 仅供参考,NLog 中不支持调用者信息属性,因为这将是一个重大更改(以及添加更多调用者信息属性时的另一个重大更改)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多