我正在将Akka.Net与Akka.Logger.Serilog一起使用。在我的设置中,我使用
在 在 在演员中,我使用以下命令来初始化记录器: 以及上述各种其他组合,但每次 在控制台中,我看到了一些自己的日志,但是到处都看到以下消息: 还有其他步骤来确保Akka.net使用正确的日志记录适配器吗? 如何控制默认记录器使用什么? 答案 0 :(得分:0) 最后,有两件事: 参见下文: 一旦工作,我就能在日志中看到更改:loggers = ["Akka.Logger.Serilog.SerilogLogger, Akka.Logger.Serilog"]
Program.cs
中,我使用:Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.UseSerilog((ctx, config) =>
config.ReadFrom.Configuration(ctx.Configuration), true);
Startup.cs
中,我尝试了services.AddSingleton<ILoggingAdapter, SerilogLoggingAdapter>();
ILoggingAdapter _logger = Context.GetLogger(); // and Logger.GetLogger(Context);
// then
_logger.Info("Message loaded: {@Message}", message);
// and this _logger.Info("Message loaded: {Message}", message);
[ERROR][12/30/2019 12:43:47][Thread 0010][akka://MyActorSystem/system/log1-DefaultLogger] Input string was not in a correct format. Cause: System.FormatException: Input string was not in a correct format.
at System.Text.StringBuilder.FormatError()
at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
at System.String.Format(String format, Object[] args)
at Akka.Event.DefaultLogMessageFormatter.Format(String format, Object[] args)
1 个答案:
[JsonProperty("property-name")]
。Program.cs
Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.UseSerilog((ctx, config) =>
config
.ReadFrom.Configuration(ctx.Configuration)
.Enrich.FromLogContext())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
[DEBUG][12/30/2019 17:02:38][Thread 0005][akka://MyActorSystem/system/log1-SerilogLogger] Started (Akka.Logger.Serilog.SerilogLogger)
[INFO][12/30/2019 17:02:38][Thread 0005][[akka://MyActorSystem/system/log1-SerilogLogger#121623868]] SerilogLogger started