我的应用程序中有Serilog。当应用程序运行时,它将一些信息写入文本文件。该应用程序中也有一个电子邮件表单。我想将最后的日志文件附加到消息中,但是我不能,因为这些文件正在被进程使用。
我尝试将SHARED标志设置为true,但这无济于事。
此外,我还有一个想法,在连接时通过CloseAndFlush()方法暂停日志记录。但是我不知道如何重新启动它。
private static LoggerConfiguration Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.File(Path.Combine(MailHelper.SerilogPath, $"{Program.CurrentUser.Login}_actions_log_.txt"),
rollingInterval: RollingInterval.Hour, shared: true,
retainedFileCountLimit: 10);
public static void CreateLogger()
{
Log.Logger = Logger.CreateLogger();
}
public static void PauseLogging()
{
Log.CloseAndFlush();
}
主要思想是轻松地将日志文件附加到消息中。记录必须在记录之前和之后进行。
但是知道它被进程阻止了。