【发布时间】:2018-11-29 12:41:02
【问题描述】:
我在 MVC 中有一个 Web 应用程序,它使用 NLog 和 Quartz 来运行一些作业。
我需要将作业日志保存在另一个文件中,但我找不到执行此操作的方法,因为我的应用程序只有一个 LogManager。
尝试使用其他目标,但没有成功。
有谁知道怎么做吗?
以下是我今天使用的:
var config = new NLog.Config.LoggingConfiguration();
var logfile = new NLog.Targets.FileTarget("logfile") { FileName = ArquivoLog, Name="logfile", CreateDirs = true, Layout = FormatoLog, ArchiveEvery = NLog.Targets.FileArchivePeriod.Day, ArchiveNumbering = NLog.Targets.ArchiveNumberingMode.DateAndSequence, MaxArchiveFiles = 31, WriteFooterOnArchivingOnly = true, KeepFileOpen = true, OpenFileCacheTimeout = 30 };
config.AddRule(LogLevel.Trace, LogLevel.Fatal, logfile);
NLog.LogManager.Configuration = config;
【问题讨论】:
-
如果您了解开发过程中的工作,您可以使用多个记录器目标。如果没有,您可以在文件名中使用标签(称为layout renderers)。您可以为每个作业使用不同的记录器,并使用
"${logger}.txt"作为文件名。
标签: c# .net asp.net-mvc nlog quartz.net