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

VB.Net .Net4.8 Windows Service无法写入应用程序事件日志排查

问题:VB.NET Windows服务手动日志写入失败,AutoLog功能正常

我有一个基于.NET 4.8的VB.NET程序,包含一个可执行文件和两个后台服务:

  • 服务1:几年前开发,支持通过命令行参数运行多实例,日志功能正常
  • 服务2:1个月前开发,作为清理任务管理服务运行,手动写入的日志完全无法生成,但AutoLog默认的启动/停止日志可以正常显示

关键细节

  • 两个服务使用完全相同的日志代码,例如:
    My.Application.Log.WriteEntry($"MyService for location {MyLocationID} ({MyLocationName}) is now active.")
    
  • 配置文件直接复制自服务1,仅修改应用名称部分,问题未解决
  • 两者均在OnStart()方法的第一行设置AutoLog = False;若注释该行,服务2的默认启动/停止日志会正常出现在事件日志中
  • 安装方式一致:均通过sc.exe以管理员身份安装,运行账户为本地系统账户

已尝试的排查操作

  • 按照官方文档从头删除并重建app.config,确认强命名类型引用正确
  • 创建全新测试服务项目,仅通过Timer每30秒写入递增计数器日志:OnStart/OnStop内的日志无输出,但Timer_Elapsed子程序中的日志正常记录
  • 确认权限:本地系统账户无日志写入权限问题

疑问

既然其中一个服务日志功能正常,且配置完全一致,我还可能忽略了什么?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 03:22:48