Reo.Core.Serilog.Sinks.XunitTestOutput
10.0.91
dotnet add package Reo.Core.Serilog.Sinks.XunitTestOutput --version 10.0.91
NuGet\Install-Package Reo.Core.Serilog.Sinks.XunitTestOutput -Version 10.0.91
<PackageReference Include="Reo.Core.Serilog.Sinks.XunitTestOutput" Version="10.0.91" />
<PackageVersion Include="Reo.Core.Serilog.Sinks.XunitTestOutput" Version="10.0.91" />
<PackageReference Include="Reo.Core.Serilog.Sinks.XunitTestOutput" />
paket add Reo.Core.Serilog.Sinks.XunitTestOutput --version 10.0.91
#r "nuget: Reo.Core.Serilog.Sinks.XunitTestOutput, 10.0.91"
#:package Reo.Core.Serilog.Sinks.XunitTestOutput@10.0.91
#addin nuget:?package=Reo.Core.Serilog.Sinks.XunitTestOutput&version=10.0.91
#tool nuget:?package=Reo.Core.Serilog.Sinks.XunitTestOutput&version=10.0.91
Reo.Core.Serilog.Sinks.XunitTestOutput
Описание пакета
Пакет Reo.Core.Serilog.Sinks.XunitTestOutput предоставляет интеграцию между Serilog и xUnit, позволяя направлять логи из приложений, использующих Serilog, напрямую в вывод тестов xUnit. Это особенно полезно при тестировании сценариев, где требуется визуализация логов в рамках выполнения тестов, например, для отладки или мониторинга состояния тестов.
Основные функции:
- Отправка логов Serilog в вывод xUnit.
- Настройка формата вывода логов через шаблоны.
- Поддержка фильтрации логов по уровню серьёзности (например, только ошибки).
Основные компоненты
1. XUnitTestOutputSink
- Описание: Класс, реализующий интерфейс
ILogEventSinkSerilog. Отвечает за обработку и запись логов вITestOutputHelper, используемый xUnit. - Функции:
- Принимает лог-события от Serilog.
- Форматирует их с использованием предоставленного
ITextFormatter. - Записывает результат в вывод теста через
ITestOutputHelper.
2. LoggerConfigurationXunitTestOutputExtensions
- Описание: Статический класс с методом расширения для конфигурации Serilog.
- Функции:
- Добавляет
XUnitTestOutputSinkв конвейер логирования Serilog. - Позволяет настраивать минимальный уровень логирования, формат вывода и другие параметры.
- Использует
MessageTemplateTextFormatterдля форматирования логов.
- Добавляет
Требования
Совместимость с .NET
- .NET 8.0
- .NET 9.0
Зависимости
Установка
Способы установки:
# NuGet Package Manager
Install-Package Reo.Core.Serilog.Sinks.XunitTestOutput
# .NET CLI
dotnet add package Reo.Core.Serilog.Sinks.XunitTestOutput
Настройка
Использование в конфигурации Serilog
Добавьте XUnitTestOutputSink в логгер Serilog через метод расширения XunitTestOutput:
using Serilog;
using Serilog.Events;
using Xunit.Abstractions;
public class TestClass : IClassFixture<TestFixture>
{
private readonly ITestOutputHelper _output;
private readonly ILogger _logger;
public TestClass(ITestOutputHelper output)
{
_output = output;
_logger = new LoggerConfiguration()
.WriteTo.XunitTestOutput(_output, restrictedToMinimumLevel: LogEventLevel.Information)
.CreateLogger();
}
}
Настройка формата логов
По умолчанию используется шаблон:
"{Timestamp:yyyy-MM-dd HH:mm:ss} [{Level}] {Message}{NewLine}{Exception}"
Вы можете изменить формат, указав свой outputTemplate:
_logger = new LoggerConfiguration()
.WriteTo.XunitTestOutput(_output, outputTemplate: "{Timestamp} | {Level} | {Message}")
.CreateLogger();
Использование
Примеры кода
1. Логирование в тестах xUnit
using Serilog;
using Xunit;
public class MyTests
{
private readonly ILogger _logger;
public MyTests(ITestOutputHelper output)
{
_logger = new LoggerConfiguration()
.WriteTo.XunitTestOutput(output)
.CreateLogger();
}
[Fact]
public void TestExample()
{
_logger.Information("Тестовый лог: выполнение теста");
_logger.Error("Ошибка: неожиданный результат");
// Дополнительные действия теста...
}
}
2. Фильтрация логов
_logger = new LoggerConfiguration()
.WriteTo.XunitTestOutput(_output, restrictedToMinimumLevel: LogEventLevel.Error)
.CreateLogger();
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- JetBrains.Annotations (>= 2025.2.4)
- Serilog (>= 4.3.1)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- xunit.abstractions (>= 2.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.91 | 30 | 4/8/2026 |
| 10.0.90 | 32 | 4/7/2026 |
| 10.0.89 | 35 | 4/7/2026 |
| 10.0.88 | 32 | 4/7/2026 |
| 10.0.87 | 79 | 4/6/2026 |
| 10.0.86 | 100 | 4/3/2026 |
| 10.0.85 | 88 | 3/31/2026 |
| 10.0.84 | 85 | 3/31/2026 |
| 10.0.83 | 92 | 3/30/2026 |
| 10.0.82 | 88 | 3/30/2026 |
| 10.0.81 | 88 | 3/30/2026 |
| 10.0.80 | 94 | 3/27/2026 |
| 10.0.79 | 86 | 3/26/2026 |
| 10.0.78 | 84 | 3/26/2026 |
| 10.0.77 | 89 | 3/25/2026 |
| 10.0.76 | 87 | 3/24/2026 |
| 10.0.75 | 95 | 3/23/2026 |
| 10.0.74 | 92 | 3/19/2026 |
| 10.0.73 | 86 | 3/19/2026 |
| 10.0.72 | 88 | 3/18/2026 |