SyZero.Log4Net 1.1.4-dev.2

This is a prerelease version of SyZero.Log4Net.
There is a newer version of this package available.
See the version list below for details.
dotnet add package SyZero.Log4Net --version 1.1.4-dev.2
                    
NuGet\Install-Package SyZero.Log4Net -Version 1.1.4-dev.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SyZero.Log4Net" Version="1.1.4-dev.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SyZero.Log4Net" Version="1.1.4-dev.2" />
                    
Directory.Packages.props
<PackageReference Include="SyZero.Log4Net" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SyZero.Log4Net --version 1.1.4-dev.2
                    
#r "nuget: SyZero.Log4Net, 1.1.4-dev.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SyZero.Log4Net@1.1.4-dev.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SyZero.Log4Net&version=1.1.4-dev.2&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=SyZero.Log4Net&version=1.1.4-dev.2&prerelease
                    
Install as a Cake Tool

SyZero.Log4Net

SyZero 框架的 Log4Net 日志集成模块。

📦 安装

dotnet add package SyZero.Log4Net

✨ 特性

  • 🚀 日志集成 - 集成 Log4Net 到 Microsoft.Extensions.Logging
  • 💾 多输出 - 支持文件、控制台等多种输出
  • 🔒 配置灵活 - 支持 XML 配置

🚀 快速开始

1. 配置 log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
    <file value="logs/app.log" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="INFO" />
    <appender-ref ref="RollingFile" />
  </root>
</log4net>

2. 注册服务

// Program.cs
var builder = WebApplication.CreateBuilder(args);
// 添加SyZero
builder.AddSyZero();

// 注册服务方式1 - 使用默认配置文件
builder.Services.AddSyZeroLog4Net();

// 注册服务方式2 - 指定配置文件
builder.Services.AddSyZeroLog4Net(options =>
{
    options.ConfigFile = "log4net.config";
});

// 注册服务方式3 - 使用委托配置
builder.Services.AddSyZeroLog4Net(options =>
{
    options.ConfigFile = "Configs/log4net.config";
    options.Watch = true;
});

var app = builder.Build();
// 使用SyZero
app.UseSyZero();
app.Run();

3. 使用示例

public class MyService
{
    private readonly ILogger<MyService> _logger;

    public MyService(ILogger<MyService> logger)
    {
        _logger = logger;
    }

    public void DoSomething()
    {
        _logger.LogInformation("操作执行成功");
        _logger.LogWarning("警告信息");
        _logger.LogError("错误信息");
    }
}

📖 配置选项

属性 类型 默认值 说明
ConfigFile string "log4net.config" 配置文件路径
Watch bool true 是否监听配置文件变化

📖 API 说明

ILogger 接口

方法 说明
LogTrace(message) 跟踪级别日志
LogDebug(message) 调试级别日志
LogInformation(message) 信息级别日志
LogWarning(message) 警告级别日志
LogError(message) 错误级别日志

使用标准的 ILogger 接口,无需直接依赖 Log4Net


🔧 高级用法

按类别输出

<logger name="MyApp.Services">
  <level value="DEBUG" />
  <appender-ref ref="ServiceLog" />
</logger>

异步写入

<appender name="AsyncFile" type="log4net.Appender.AsyncAppender">
  <appender-ref ref="RollingFile" />
</appender>

⚠️ 注意事项

  1. 配置文件 - 确保 log4net.config 文件存在且可访问
  2. 日志目录 - 确保应用有权限写入日志目录
  3. 性能 - 生产环境建议使用异步写入

📄 许可证

MIT License - 详见 LICENSE

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SyZero.Log4Net:

Package Downloads
SyZero.Gateway

SyZero-Gateway

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.4 85 1/2/2026
1.1.4-dev.2 41 1/2/2026
1.1.4-dev.1 40 12/30/2025
1.1.3 90 12/30/2025
1.1.3-dev.6 48 12/30/2025
1.1.3-dev.3 102 1/19/2024
1.1.3-dev.2 181 11/3/2023
1.1.3-dev.1 188 3/21/2023
1.1.2 411 3/15/2023
1.1.2-dev.108.29344 186 3/15/2023
1.1.2-dev.108.28054 181 3/15/2023
1.1.2-dev.108.27487 181 3/15/2023
1.1.1 376 3/15/2023
1.1.1-dev.108.14980 168 3/15/2023
1.1.1-dev.108.13289 177 3/15/2023
1.1.1-dev.107.27144 177 3/14/2023
1.1.0 379 3/14/2023
1.1.0-workflow-dev.107.22552 178 3/14/2023
1.1.0-workflow-dev.107.21746 178 3/14/2023
1.1.0-workflow-dev.107.21506 171 3/14/2023
1.1.0-workflow-dev.107.20979 174 3/14/2023
1.1.0-dev.107.26364 174 3/14/2023
1.1.0-dev.107.24396 169 3/14/2023
1.1.0-dev.107.22787 171 3/14/2023
1.0.6 600 3/5/2022
1.0.4 616 6/13/2020
1.0.1 663 2/20/2020
1.0.0 706 11/5/2019