You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7.0设置SourceName和LogName后日志无法输出至事件查看器求助

.NET自定义EventLog日志源和日志名称后日志不显示的问题

未设置SourceName和LogName时,日志能正常显示在Windows事件查看器的“.NET runtime”中,但自定义这两个参数后,日志完全不显示。已搜索相关内容未找到解决方案,恳请帮助。

相关代码

string appName = "MyNewApp";
var loggerFactory = LoggerFactory.Create(
    builder => builder
                .ClearProviders()
                // 添加控制台作为日志输出目标
                .AddConsole()
                .AddEventLog(eventLogSettings =>
                {
                   eventLogSettings.SourceName = appName;
                   eventLogSettings.LogName = appName;
                })
                .SetMinimumLevel(LogLevel.Debug)
);
ILogger<Service> logger = loggerFactory.CreateLogger<Service>();
logger.LogCritical("Hello world");

appsettings.json配置

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    },
    "EventLog": {
      "LogLevel": {
        "Default": "Information",
        "Microsoft.Hosting.Lifetime": "Information"
      }
    }
  }
}

问题原因与解决办法

1. 核心原因

Windows事件日志要求管理员权限才能创建新的日志名称(LogName)和日志源(SourceName)。普通用户权限运行的程序无法完成创建操作,导致日志无法写入自定义日志项。

2. 具体解决步骤

  • 手动注册自定义日志与源
    打开管理员身份的命令提示符,执行以下命令完成初始化:

    eventcreate /L MyNewApp /SO MyNewApp /T INFORMATION /ID 1 /D "初始化自定义日志"
    

    这条命令会自动在Windows事件日志中创建MyNewApp日志及对应的MyNewApp源,后续程序即可正常写入。

  • 确保程序运行权限

    • 桌面程序:测试时可右键以管理员身份运行;正式环境可配置程序的权限要求。
    • 服务程序:将服务账户设置为具有事件日志写入权限的账户(如LocalSystem或自定义权限账户)。
  • 统一日志级别配置(可选)
    代码中全局最低级别为Debug,但配置文件中EventLog默认级别是Information,虽然LogCritical不受影响,但可在代码中明确指定EventLog的过滤规则,避免配置冲突:

    .AddEventLog(eventLogSettings =>
    {
       eventLogSettings.SourceName = appName;
       eventLogSettings.LogName = appName;
       // 只写入Critical及以上级别的日志
       eventLogSettings.Filter = (_, level) => level >= LogLevel.Critical;
    })
    

3. 验证步骤

  1. 打开事件查看器,检查“Windows日志”下是否出现MyNewApp日志项。
  2. 运行程序后,查看控制台是否输出Hello world,确认日志已生成。
  3. 在事件查看器的MyNewApp日志中查找对应的Critical级别日志。

内容的提问来源于stack exchange,提问作者Nuno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:40:31