Serilog在2kb后创建一个新文件

本文关键字:一个 新文件 文件 2kb 创建 Serilog | 更新日期: 2023-09-27 18:09:36

我正在使用滚动文件接收器。

下面是我的初始化代码:

Serilog.Log.Logger = new LoggerConfiguration()
            .WriteTo.RollingFile(@"L:'logs'Api-{Date}.txt", fileSizeLimitBytes: null)
            .CreateLogger();

下面是要记录的行:

Log.Information(message);

但是在2kb之后,它创建了一个新文件。

我不知道怎么了。

这是我的记录器类:

public class Logger
{
    public Logger()
    {
        Serilog.Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Verbose()
            .WriteTo.RollingFile(@"L:'logs'Api-{Date}.txt", fileSizeLimitBytes: null)
            .CreateLogger();
    }
    public void Log(LogRequestParameters logRequestParameters, LoggingLevels loggingLevel)
    {
        var message = JsonConvert.SerializeObject(logRequestParameters);
        switch (loggingLevel)
        {
            case LoggingLevels.Verbose:
                Serilog.Log.Verbose(message);
                break;
            case LoggingLevels.Debug:
                Serilog.Log.Debug(message);
                break;
            case LoggingLevels.Information:
                Serilog.Log.Information(message);
                break;
            case LoggingLevels.Warning:
                Serilog.Log.Warning(message);
                break;
            case LoggingLevels.Error:
                Serilog.Log.Warning(message);
                break;
            case LoggingLevels.Fatal:
                Serilog.Log.Fatal(message);
                break;
        }
    }
}

这是我的调用者类:

public class Caller
{   
    logRequestParameters.DateTime = DateTime.Now.ToString();
    logRequestParameters.Level = "Debug";
    logRequestParameters.MachineName = Environment.MachineName;
    logRequestParameters.Type = "Request";
    logRequestParameters.Request = request;
    Logger logger = new Logger();
    logger.Log(logRequestParameters, LoggingLevels.Information);
}

Serilog在2kb后创建一个新文件

代码正在为每个事件创建一个新的记录器实例。您需要创建一个单个记录器,并将其用于每个日志调用。

文档中有关于Serilog记录器生命周期的更多信息

相关文章: