ASP.NET Core 2.0修改Event Viewer中EventLog的源名称
好的,要修改Windows事件查看器里的日志源名称,你可以通过两种方式来实现——直接在代码里配置,或者通过配置文件来设置,下面分别给你详细说明:
方法一:通过代码直接配置
你可以在调用AddEventLog()的时候传入一个EventLogSettings对象,手动指定自定义的源名称。修改后的配置代码如下:
.ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); // 配置自定义事件源名称 logging.AddEventLog(new EventLogSettings { SourceName = "你的自定义源名称" // 替换成你想要的名称,比如"MyAspNetCoreApp" }); logging.AddConsole(); })
方法二:通过配置文件(appsettings.json)配置
如果你更倾向于用配置文件来管理,也可以在appsettings.json的Logging节点下添加EventLog的配置项:
{ "Logging": { "EventLog": { "SourceName": "你的自定义源名称", "LogLevel": { "Default": "Information", "Microsoft": "Warning" } }, "Console": { "LogLevel": { "Default": "Information", "Microsoft": "Warning" } } } }
然后代码里保持原来的AddEventLog()调用即可,它会自动读取配置文件里的SourceName:
.ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); logging.AddEventLog(); // 自动读取配置文件中的SourceName logging.AddConsole(); })
重要注意事项
- 权限要求:首次运行应用时需要以管理员权限启动,因为创建自定义事件源需要系统管理员权限。一旦源创建成功,后续普通权限运行应用也能正常写入日志。
- 源名称唯一性:自定义的源名称不能和系统中已存在的事件源重复,否则会报错。如果需要更换源名称,建议先在事件查看器里删除旧的源,或者确保新名称未被使用。
内容的提问来源于stack exchange,提问作者Yitzak Hernandez
相关产品推荐
相关产品推荐

