[英]Lifestyle of NLog wrapper class
我有五個不同的記錄器和一個包裝器類:
internal class CommonNLogResolver : ICommonLogger
{
private readonly NLog.Logger commonLog;
private readonly NLog.Logger errorLog;
private readonly NLog.Logger dataBaseLog;
private readonly NLog.Logger logExceptionLogger;
private readonly NLog.Logger clientLogger;
public CommonNLoggerResolver()
{
commonLog = NLog.LogManager.GetLogger(Constants.CommonLog);
errorLog = NLog.LogManager.GetLogger(Constants.ErrorLog);
dataBaseLog = NLog.LogManager.GetLogger(Constants.DBLog);
logExceptionLogger = NLog.LogManager.GetLogger(Constants.LogExceptionLog);
clientLogger = NLog.LogManager.GetLogger(Constants.ReportLog);
}
}
我查看了NLog中的LogFactory.cs,由於它具有記錄器的緩存,所以我不知道哪種包裝方式適合我的包裝器類。
所以我的問題是我應該注冊此類的singleton , transient還是scope嗎?
我也使用SimpleInjector進行依賴注入。
NLog是線程安全的,因此您可以安全地重用記錄器。 您可以使其成為Singleton。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.