题
我正在使用我的网站和web api内的serilog。
现在我想在WCF中使用Serilog。
但是当我在WCF中新建记录并创建一个记录器时,日志记录似乎没有工作?例如,没有任何东西正在输出到文本文件。
var seriLog = new LoggerConfiguration()
.WriteTo.File(@"C:\Serilogs\myapp.txt")
.CreateLogger();
seriLog.Debug("log message");
.
最终我想从WCF服务中写入SEQ。
我缺少或做错了?
有没有人有一些工作代码样本是如何完成的?
是在WCF中使用Serilog / SEQ堆栈的诱趣?
解决方案
介意有几件事 -
首先,设置代码仅在此处执行一次,即在应用程序启动时,因此恰好指向文本文件的记录器?只有一个记录器实例一次可以使用该文件。
next,是否具有访问文件的权限的进程?
最后,文件打开,例如,在记事本或其他可能锁定的应用程序中?
如果这些都没有任何想法,您可以在配置记录器之前设置Serilog的自我日志:
SelfLog.Out = Console.Error;
.
这应该在VS调试器中显示,因此如果Serilog捕获和抑制您应该看到它们的任何异常。
如果您无法在调试器中运行它,请尝试:
SelfLog.Out = File.OpenText(@"C:\loglog.txt");
.
有时我发现调试器下的应用程序在调试器下,“所有例外中断”启用可以是进入它的底部的快速方法(Ctrl-D,E - > CLR例外[x]抛出,[X]未处理)。
不隶属于 StackOverflow