我有一个.net 3.1核心服务,并尝试写入特定的日志文件。 loginformations尝试写入应用程序日志,而不是转到新日志。正在获取:“由于未处理的异常,该过程已终止。异常信息:System.AggregateException:写入记录器时发生错误。 (源未在日志“应用程序”中注册。(已在日志中注册。)“
在createhostbuilder中配置的代码是
Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureLogging((context, logging) =>
{
logging.AddEventLog(new EventLogSettings()
{
SourceName = <my service name>,
LogName = <custom log name>,
Filter = (x, y) => y >= LogLevel.Information
});
logging.AddConsole();
})
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
});
使用ilogger,这很简单_logger.LogInformation(“我的消息”);
“试图写入特定的日志文件”
[不,您绝对不是-显示的代码正试图使用Microsoft.Extensions.Logging.EventLog写入Windows事件日志,并写入源<my service name>
。
假设这就是您要执行的操作,而不是登录到文件,而是显示错误消息-您指定的事件日志源尚不存在。
您有2个选项:
System.Diagnostics.EventLog.CreateEventSource
)Application
源(在安装.NET时创建的AFAIK)写入".NET Runtime
日志中。 >