我正在使用我的网站和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]未处理)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top