簡體   English   中英

NLog包裝器類的生活方式

[英]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,由於它具有記錄器的緩存,所以我不知道哪種包裝方式適合我的包裝器類。

所以我的問題是我應該注冊此類的singletontransient還是scope嗎?

我也使用SimpleInjector進行依賴注入。

NLog是線程安全的,因此您可以安全地重用記錄器。 您可以使其成為Singleton。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM