Serilog 未登录 .Net WebService ASMX WebMethod

问题描述

我有一个 .Net Web 应用程序,我使用 Serilog 和文件接收器成功地将其登录文件。主应用程序是在 global.asax 应用程序启动中设置记录器。

Web 应用程序评估 Web 服务(也是由我编写的),我想从 Web 服务 (asmx) 中登录,但我无法让它写入任何内容。我尝试了多种方法包括调用 Log 函数之前直接设置 LoggerConfiguration 但没有运气。我也启用了 SelfLog,没有任何输出

任何帮助将不胜感激 - 我整天都在谷歌上搜索

解决方法

为了让 Serilog 在 ASMX 网络服务中工作,我必须在服务顶部声明一个私有静态记录器:

private static Serilog.Core.Logger myLog = new LoggerConfiguration().MinimumLevel.Debug().WriteTo.File(HttpContext.Current.Server.MapPath("~/logs/QuoteEngine.txt"),rollingInterval: RollingInterval.Day).CreateLogger();

然后我打电话:

myLog.Error("Your string") or myLog.Debug("Your string") etc

我希望这可以帮助遇到相同问题的人找到答案。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...