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记录器生命周期的更多信息