Я запускаю веб-API и консольные приложения на Net Core 3.1 в Windows 10 Professional. У меня есть приемники для консоли, текстового файла, файла json, mssql и seq. Каждый из них регистрирует все события, за исключением того, что seq не регистрирует никаких событий.
Я установил Docker с помощью следующей команды:
docker run -d --restart except-Stop --name seq -e ACCEPT_EULA = Y -v D: \ Logs \ Seq: / data -p 8081: 80 datalust / seq: latest
Я создал регистратор с таким кодом:
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 или консольных приложений.
Когда я перехожу к localhost:8081
, я получаю сообщение "localhost refused to connect."
.
Я подозреваю, что у меня неправильные номера портов, но я не знаю. Должны ли они быть разными или одинаковыми между 1) настройкой докера, 2) значением seq.json, 3) созданием регистратора?
docker ps
, чтобы убедиться, чтоseq
контейнер находится в состоянии "поднят". Если это не так, попробуйте использовать какой-либо случайный порт, отличный от8081
, поскольку этот порт может уже использоваться, что приводит к выходу из контейнера seq - person Mohsin Mehmood   schedule 28.01.2020