我有一个ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall)
的.Net 4.7.2 Rest API服务。
在Application_start
函数中,我创建了这样的记录器
Log.Logger = new LoggerConfiguration()
.WriteTo.File(
"C:\\shared\\log\\log.txt",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
shared: true)
.CreateLogger();
但是,当客户端应用程序调用Rest API时,log.txt
文件中不包含某些日志行。 Serilog文档说Serilog parses and caches every template (up to a fixed size limit)
,我猜测这可能是缺少行的原因。
我在刷新ILogger时看到了this discussion,但是找不到任何配置来禁用内部缓存。是否可以禁用缓存?还有其他人遇到类似的问题吗?