。Net核心服务写入错误的事件日志

问题描述 投票:0回答:1

我有一个.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(“我的消息”);

.net .net-core service event-log
1个回答
0
投票

“试图写入特定的日志文件”

[不,您绝对不是-显示的代码正试图使用​​Microsoft.Extensions.Logging.EventLog写入Windows事件日志,并写入源<my service name>

假设这就是您要执行的操作,而不是登录到文件,而是显示错误消息-您指定的事件日志源尚不存在。

您有2个选项:

  1. 首先创建事件日志源。这需要管理员权限,通常是在应用程序安装程序中完成的(您可以使用System.Diagnostics.EventLog.CreateEventSource
  2. [不指定自定义来源和日志名称,而是使用默认值-这意味着您的日志将使用Application源(在安装.NET时创建的AFAIK)写入".NET Runtime日志中。 >
© www.soinside.com 2019 - 2024. All rights reserved.