【问题标题】:Logging with Nlog & Rebus使用 Nlog 和 Rebus 进行日志记录
【发布时间】:2017-06-13 11:12:43
【问题描述】:

我想用 Nlog 实现 ReBus 日志记录。

我们将 NLog 运行到控制台、文件和数据库(带有自定义字段)和不同的文件。我的意思是,NLog 运行良好。

我们已经安装了 ReBus.Nlog Nuget 包并将我们的适配器配置更改为 Nlog()。

但是,尽管我们已将其配置为 'Trace' 日志级别,但没有任何内容记录到文件中。

有人有在 ReBus 中使用 NLog 实现登录的简单示例吗? 我已经检查了 Rebus.Nlog github 源代码上的测试,但我认为它只是测试显式发送到记录器的消息。

主要是我想记录 Rebus 警告和错误。

谢谢。

【问题讨论】:

  • 请分享您的 NLog 配置
  • 在添加 NLog 作为 Rebus 的记录器之前,我没有更改我的 NLog 配置 xml 文件。我认为它必须以这种旧/以前的配置运行。所有其他日志(也包括 NLog)都运行良好。无论如何,我会尝试做一个 Rebus + Nlog 的尖峰(这样我就可以发布所有内容)并发送给这个线程中的所有人。

标签: nlog rebus


【解决方案1】:

我已将this Logging sample project 添加到RebusSamples repository - 代码的相关部分如下所示:

// configure NLog
var configuration = new LoggingConfiguration
{
    LoggingRules = { new LoggingRule("*", LogLevel.Debug, new ConsoleTarget("console")) }
};

LogManager.Configuration = configuration;

// configure Rebus
Configure.With(activator)
    .Logging(l => l.NLog())
    .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "logging"))
    .Start();

据我所知,这种配置 NLog 的方式可能不是惯用的方式,因为我猜大多数人更喜欢能够在他们的应用程序配置文件中使用 XML 配置规则和目标。

无论哪种方式,NLog 最终都会应用静态配置,然后当您在其日志配置器上调用 NLog() 时,Rebus 可以获取该配置。

希望对你有帮助:)

【讨论】:

  • 我就是这样配置的。
  • 明天我会尝试做一个尖峰(使用 nlog xml 配置文件),所以我可以在这里发布所有代码。如果它运行,也许可以包含在 Samples 存储库中。还是谢谢
  • 你仍然可以使用 XML 配置:new XmlLoggingConfiguration(path)
  • 对不起@Julian 我不明白你的new XmlLoggingConfiguration(path) 或者我必须在哪里/如何设置它。
  • @mookid8000 如果我设置你的第一行 configuration & LogManager.Configuration Rebus 日志将被扔到控制台。但是,如果我尝试在我的 app.config (xml) 上进行配置,那么控制台中不会显示任何内容。我将把我的 NLog XML 配置放在我的问题上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-08
  • 1970-01-01
  • 2023-03-11
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多