我认为这里可能会发生两件事:
- 日志记录正常,但您的自定义过滤器不正确
- 日志记录不起作用
让我们保持乐观并假设日志记录正在工作。
日志记录正在工作
您已将 EventLogTraceListener 配置为记录到使用MyLog
“企业库日志记录”源调用的事件日志。也许自定义过滤器配置为按日志过滤,而不是搜索 MyLog?仔细检查您的过滤器,并检查应用程序和服务日志下是否确实有一个名为 MyLog 的日志。
不过,如果我猜的话,那可能不是问题所在。
日志记录不工作
让我们假设日志记录不起作用。它不起作用的最可能原因是您没有创建事件日志的权限。我还注意到 Logging Errors & Warnings 部分没有配置监听器。设置 Logging Errors & Warnings 以使用跟踪侦听器始终是一个好主意(我更喜欢平面文件跟踪侦听器,因为它是最简单的一种,因此出错的可能性很小)。
因此,在您的情况下,我会将其设置为使用您已经设置的“平面文件跟踪侦听器”:
<specialSources>
<allEvents switchValue="All" name="All Events" />
<notProcessed switchValue="All" name="Unprocessed Category" />
<errors switchValue="All" name="Logging Errors & Warnings">
<listeners>
<add name="Flat File Trace Listener" />
</listeners>
</errors>
</specialSources>
现在,如果您重新运行程序,您可能会在 consoletrace.log 中看到一条错误消息。
如果权限是问题,通常的解决方案是在安装期间使用具有适当权限的帐户创建事件日志及其来源。例如,以管理员身份记录消息以设置您的日志和类别。