【发布时间】:2015-10-22 16:26:26
【问题描述】:
我正在学习使用 NLog。我的情况是我想在 DLL 中使用它,可能将它包装在一个日志类中。基本上我的目标是:
1) 我希望这种配置只发生 ONCE:
var config = new LoggingConfiguration();
var fileTarget = new FileTarget();
config.AddTarget("file", fileTarget);
// Step 3. Set target properties
fileTarget.Layout = @"${date:format=HH\:mm\:ss} - ${message}";
fileTarget.FileName = "c:/myFolder/" + "${date:format=yyyy-MM-dd}.log";
var rule2 = new LoggingRule("*", LogLevel.Debug, fileTarget);
config.LoggingRules.Add(rule2);
// Step 5. Activate the configuration
LogManager.Configuration = config;
// Example usage
_logger = LogManager.GetLogger("Example");
如果相关,我还希望能够将初始化例程的日志文件路径指定为参数。
2) 任何其他类都应该能够调用像 LogWrapper.Log("message") 这样的方法,该方法应该使用我配置的 NLog 对象记录消息 - 我知道 NLog 的哪个方法将条目写入日志文件,即没问题,说它叫_logger.write。
我怎样才能以 (thread) 安全的方式实现这一点? 我已经为此苦苦挣扎了一段时间,希望能得到很多帮助!这个应该没那么难吧,基本上我是在问如何使用NLog。
【问题讨论】:
标签: c# .net multithreading nlog