Вопрос

Я использую SeriLog из моего веб-сайта и веб-API все хорошо.

Теперь я хочу использовать Serilog из WCF.

Но когда я новичок в LoggerConfiguration и создаю регистратор из WCF, века, кажется, не работает?Например, ничего не выводится в текстовый файл.

var seriLog = new LoggerConfiguration()
    .WriteTo.File(@"C:\Serilogs\myapp.txt")
    .CreateLogger();

seriLog.Debug("log message");
.

В конечном итоге я хочу написать на SEQ из системы WCF.

Что мне не хватает или не так?

У кого-нибудь есть некоторые образцы рабочего кода от того, как это будет сделано?

Есть ли трюки для использования стека Serilog / Seq из WCF?

Это было полезно?

Решение

есть пара вещей, которые пришли на ум -

Во-первых, это код установки здесь выполняется только один раз, то есть при запуске приложения, поэтому имеется ровно один регистратор, указывающий на текстовый файл?Только один экземпляр регистратора может использовать файл за раз.

Далее, этот процесс работает с разрешением на доступ к файлу?

Последнее, это открытый файл e.g.в блокноте или другом приложении, которые могут быть заблокированы?

Если ни одна из этих искренний ни одна идеи, вы можете настроить сам-журнал Serilog перед настройкой регистратора:

SelfLog.Out = Console.Error;
.

Это должно быть показано в отладчике VS, поэтому если SeriLog поймает и подавляя любые исключения, вы должны их увидеть.

Если вы не можете запустить его в отладчике, попробуйте:

SelfLog.Out = File.OpenText(@"C:\loglog.txt");
.

Иногда я нахожу запуск приложения под отладчиком с включенным «разрывом на все исключения», может быть быстрым способом добраться до него тоже (CTRL-D, E -> CLR исключения [X],х] необработанный).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top