Reo.Core.Serilog.Sinks.XunitTestOutput
8.0.797
See the version list below for details.
dotnet add package Reo.Core.Serilog.Sinks.XunitTestOutput --version 8.0.797
NuGet\Install-Package Reo.Core.Serilog.Sinks.XunitTestOutput -Version 8.0.797
<PackageReference Include="Reo.Core.Serilog.Sinks.XunitTestOutput" Version="8.0.797" />
<PackageVersion Include="Reo.Core.Serilog.Sinks.XunitTestOutput" Version="8.0.797" />
<PackageReference Include="Reo.Core.Serilog.Sinks.XunitTestOutput" />
paket add Reo.Core.Serilog.Sinks.XunitTestOutput --version 8.0.797
#r "nuget: Reo.Core.Serilog.Sinks.XunitTestOutput, 8.0.797"
#:package Reo.Core.Serilog.Sinks.XunitTestOutput@8.0.797
#addin nuget:?package=Reo.Core.Serilog.Sinks.XunitTestOutput&version=8.0.797
#tool nuget:?package=Reo.Core.Serilog.Sinks.XunitTestOutput&version=8.0.797
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 | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- JetBrains.Annotations (>= 2025.2.4)
- Serilog (>= 4.3.0)
- 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.116 | 0 | 4/22/2026 |
| 10.0.115 | 0 | 4/22/2026 |
| 10.0.114 | 37 | 4/21/2026 |
| 10.0.113 | 39 | 4/21/2026 |
| 10.0.112 | 89 | 4/17/2026 |
| 10.0.111 | 84 | 4/16/2026 |
| 10.0.110 | 85 | 4/16/2026 |
| 10.0.109 | 82 | 4/16/2026 |
| 10.0.108 | 77 | 4/16/2026 |
| 10.0.107 | 82 | 4/16/2026 |
| 10.0.106 | 88 | 4/16/2026 |
| 10.0.105 | 87 | 4/15/2026 |
| 10.0.104 | 85 | 4/15/2026 |
| 10.0.103 | 85 | 4/14/2026 |
| 10.0.101 | 84 | 4/14/2026 |
| 10.0.100 | 85 | 4/13/2026 |
| 10.0.99 | 89 | 4/13/2026 |
| 10.0.98 | 91 | 4/13/2026 |
| 10.0.97 | 95 | 4/13/2026 |
| 8.0.797 | 124 | 1/12/2026 |