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记录器的正确配置字符串是什么?
答案 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
完全限定名称访问。