Serilog Seq Sink с Docker не захватывает события - PullRequest
2 голосов
/ 28 января 2020

Я использую веб-API и консольные приложения на Net Core 3.1 на Windows 10 Professional. У меня есть приемники для консоли, текстовый файл, файл json, ms sql и seq. Каждый из них регистрирует все события, за исключением того, что seq не регистрирует никаких событий.

Я установил Docker с помощью следующей команды:

docker run -d --restart, если не остановлен --name seq -e ACCEPT_EULA = Y -v D: \ Logs \ Seq: / data -p 8081: 80 datalust / seq: последний

Я создал регистратор с этим кодом:

Log.Logger = new LoggerConfiguration()
    .MinimumLevel.Information()
    .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
    .MinimumLevel.Override("System", LogEventLevel.Warning)
    .Enrich.FromLogContext()
    .Enrich.WithMachineName()
    .Enrich.WithEnvironmentUserName()
    .Enrich.WithProcessId()
    .Enrich.WithThreadId()
    .WriteTo.Console()
    .WriteTo.File($@"{Constants.LogsDirectory}log-.txt", LogEventLevel.Information, rollingInterval: RollingInterval.Day)
    .WriteTo.File(new JsonFormatter(), $@"{Constants.LogsDirectory}log-.json", rollingInterval: RollingInterval.Day)
    .WriteTo.MSSqlServer(DatabaseAccess.ConnectionString(context), nameof(ProcessMessageLog), columnOptions: columnOptions)
    .WriteTo.Seq("http://localhost:8081")
    .CreateLogger();

Я вижу следующее в моем seq . json файл в каталоге D: \ Logs \ Seq:

  "api": {
    "listenUris": [
       "http://localhost:8081"
    ],

Я также вижу файлы журналов, записываемые каждую минуту, но ни один из них не регистрирует события из веб-API или консольных приложений.

Когда я go до localhost:8081, я получаю сообщение "localhost refused to connect.".

Я подозреваю, что у меня неверные номера портов, но я не знаю. Должны ли они быть разными или одинаковыми между 1) настройкой docker, 2) значением seq. json, 3) созданием регистратора?

1 Ответ

1 голос
/ 28 января 2020

Похоже, что контейнер Seq в Docker не очень хорошо работает с моей картой micro SD D :. Я просто переключился с этого на мой C: диск, и он отлично работает.

...