您如何正确配置contrib记录器?

时间:2014-09-30 17:24:01

标签: c# akka.net

Wiki在描述如何配置记录器时含糊不清。我正在使用

var config = ConfigurationFactory.ParseString(@"
    akka {
        loggers = [""Akka.NLog.Event.NLog.NLogLogger,Akka.NLog""]
        stdout-loglevel = INFO
        loglevel = INFO
        log-config-on-start = on
    }"
);

并且已经从Nuget安装了Akka.NLog,但在创建actor系统时遇到异常'无法找到在config中指定的记录器:“Akka.NLog.Event.NLog.NLogLogger,Akka.NLog”'。

contrib记录器的正确配置字符串是什么?

2 个答案:

答案 0 :(得分:4)

正确的HOCON配置应如下所示:

akka {
  loggers = ["Akka.Logger.NLog.NLogLogger,Akka.Logger.NLog"]
}

要配置自定义记录器,您只需将FQN传入akka.loggers HOCON字段。

因此,如果您想在程序集Foo.Loggers.MyCustomLogger和原始NLog记录器中使用用户定义的记录器Foo.Loggers,那么您的HOCON将如下所示:

akka {
  loggers = ["Foo.Loggers.MyCustomLogger,Foo.Loggers","Akka.Logger.NLog.NLogLogger,Akka.Logger.NLog"]
}

答案 1 :(得分:2)

您的例外情况指出,您使用的记录器的完全限定类型名称不正确。要么您没有在项目中提供正确的程序集,要么类型名称无效。

目前,具有NLog支持的Akka记录器现在可以通过以下方式访问:

install-package Akka.Logger.NLog

NLog记录器本身可以使用Akka.Logger.NLog.NLogLogger, Akka.Logger.NLog完全限定名称访问。