我们在我们的项目类log4net中使用,下面你会看到我们需要记录的时候到处使用的模式,所以我决定在我自己的接口/实现中抽象它来摆脱log4net依赖无处不在。
export class Item {
valueA: string;
valueB: string;
}
在某些情况下,我们在课程中使用了多个记录器。
private readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
在这种情况下,如下代码有效。
private readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
private readonly ILog _backupLogger = LogManager.GetLogger("BackupLogger");
尝试考虑一种模式,在服务类中我可以添加额外的记录器,可能通过private void LogError<T>(string msg, string serverError, string debugInfo, T data) where T : class
{
_log.Error($"{msg} saving entry using log4net instead which must be handled manually. server error: {serverError}. api debug: {debugInfo}");
_backupLogger.Error(data.ToJson());
}
方法,然后在调用AddLogger(string loggerName)
方法时调用所有可用的记录器,可以&#34;链责任&#34;或者&#34;装饰者&#34;在这里申请,似乎无法识别它。