我需要爲每個類的實例編寫事件日誌來分隔文件。歷史上項目採用NLOG進行記錄,所以我想請嘗試使用NLOG這個問題(我已經發現了類似的話題Unique log file for each instance of class,但它的使用log4net的建議)使用NLog的特定類實例的單獨日誌文件
目前我得到記錄器的情況下是這樣的:
public static Logger GetInstanceLogger(string name, bool init = false)
{
if (!LogManager.Configuration.AllTargets.Any(t => t.Name == name))
{
var target = new FileTarget();
target.Name = name;
target.FileName = string.Format("logs/{0}.${{shortdate}}.log", name);
target.Layout =
"${date:format=dd.MM.yyyy HH\\:mm\\:ss.fff} thread[${threadid}] ${logger} (${level:uppercase=true}): ${message}. ${exception:format=ToString}";
var config = init ? new LoggingConfiguration() : LogManager.Configuration;
config.AddTarget(name, target);
var ruleInfo = new LoggingRule("*", LogLevel.Trace, target);
config.LoggingRules.Add(ruleInfo);
LogManager.Configuration = config;
LogManager.ReconfigExistingLoggers();
}
var logger = LogManager.GetLogger(name);
return logger;
}
現在它將相同的日誌寫入所有文件(我認爲它是由日誌級別引起的)。有沒有辦法使用NLog完成這項任務?
謝謝。