所以我的问题如下:我安排到/使用 Hangfire 的方法/功能使用 NLog 执行大量相关信息的记录。在没有hangfire 的情况下运行该方法时,我得到了我想要的所有日志信息,但是当我使用hangfire 安排该方法时,所有这些日志记录都将丢失。
我知道 Hangfire 使用 NLog(或您喜欢的任何其他日志记录框架)用于其自己的日志记录目的。我正在使用来自 ASP.NET MVC4 Web 应用程序的 Hangfire。我正在使用 Ninject 并使用 OWIN Startup 类设置挂起,目前看起来像这样:
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.UseHangfire(config =>
{
var kernel = new StandardKernel(new MyModule());
config.UseNinjectActivator(kernel);
config.UseSqlServerStorage("Context");
LogProvider.SetCurrentLogProvider(new NLogLogProvider());
config.UseServer();
});
}
}
我想要完成的是 Hangfire 可以进行自己的日志记录,而我计划的工作也完成了所有的日志记录,我不关心它在一个或多个文件中。目前 Hangfire 正在正确地进行日志记录,即:
2015-02-25 14:32:41.4400|TRACE|Hangfire.Server.AutomaticRetryServerComponentWrapper|Sending start request for server component 'Server Bootstrapper'...
等等
但是从预定作业的日志记录无处可寻。
我想问的是:我如何从预定的方法/作业中记录?我的猜测是我在某处缺少依赖/上下文,但我真的不知道 atm。