Serilog 2.3 和 Hangfire
Serilog 2.3 and Hangfire
我在使用 Serilog 2.3 inside hangfire 1.6.8.
时遇到日志记录问题
我有一个排队的 hangfire 作业,它使用 serilog 进行记录,并且在一些随机数量的作业之后它将停止记录。我将重新排队这些作业,它会随机停止登录以前登录的不同作业。当它确实在随机点失败时。
我有一个使用 serilog 的计划作业,它记录得很好。
使用 nlog 的 hangfire 日志没有错误。
作业继续 运行,结果正确。
我正在使用 appsettingsconfig 接收器。
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings(settingPrefix: "MyJob")
.CreateLogger();
我不知道该做什么或去哪里看。
我认为 hangfire 创建了对象,每次调用作业时它都会调用我的对象上的方法。我需要用 serilog 处理一些奇怪的异步问题吗?
请帮忙!
我创建了一个只记录日志的新作业,它具有完全相同的行为。
public class Logging
{
public Logging()
{
// Configure logging sinks
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings(settingPrefix: "LoggingTest")
.CreateLogger().ForContext<Logging>();
}
public void LogSomething(string something)
{
Log.Information("Log: {0}", something);
}
}
DOH!
我现在看到它是 Serilog 的某种静态问题。由于它是静态的,hangfire 重用对象(我的 ioc)并且每个作业都在记录彼此的文件,因为它们都在 hangfires 应用程序域下 运行,所以它并没有像排队的作业那样真正停止日志 运行 直到预定作业 运行s 一分钟后移动文件位置,然后将排队和预定作业日志移动到为预定作业定义的路径。
将作业移至 nlog。我想只能使用一个文件,并且有很多不同的作业,我们将每个作业记录到不同的文件中。
我在使用 Serilog 2.3 inside hangfire 1.6.8.
时遇到日志记录问题我有一个排队的 hangfire 作业,它使用 serilog 进行记录,并且在一些随机数量的作业之后它将停止记录。我将重新排队这些作业,它会随机停止登录以前登录的不同作业。当它确实在随机点失败时。
我有一个使用 serilog 的计划作业,它记录得很好。
使用 nlog 的 hangfire 日志没有错误。
作业继续 运行,结果正确。
我正在使用 appsettingsconfig 接收器。
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings(settingPrefix: "MyJob")
.CreateLogger();
我不知道该做什么或去哪里看。
我认为 hangfire 创建了对象,每次调用作业时它都会调用我的对象上的方法。我需要用 serilog 处理一些奇怪的异步问题吗?
请帮忙!
我创建了一个只记录日志的新作业,它具有完全相同的行为。
public class Logging
{
public Logging()
{
// Configure logging sinks
Log.Logger = new LoggerConfiguration()
.ReadFrom.AppSettings(settingPrefix: "LoggingTest")
.CreateLogger().ForContext<Logging>();
}
public void LogSomething(string something)
{
Log.Information("Log: {0}", something);
}
}
DOH! 我现在看到它是 Serilog 的某种静态问题。由于它是静态的,hangfire 重用对象(我的 ioc)并且每个作业都在记录彼此的文件,因为它们都在 hangfires 应用程序域下 运行,所以它并没有像排队的作业那样真正停止日志 运行 直到预定作业 运行s 一分钟后移动文件位置,然后将排队和预定作业日志移动到为预定作业定义的路径。
将作业移至 nlog。我想只能使用一个文件,并且有很多不同的作业,我们将每个作业记录到不同的文件中。