我在我的NLog
项目中使用Web API
,我遇到了在特定操作序列之后写入错误日志的问题。有一个底层的第三方引用使用它自己的NLog日志记录和配置。所以这是按顺序发生的事情:
我正在使用以下配置:
<logger name="MyLogger" minlevel="Info,Warn,Error,Debug,Fatal,Trace" levels="Info,Warn,Error,Debug,Fatal,Trace" writeTo="FileLog" />
在包装器类的构造函数中创建我的记录器后,我有以下(简化)以确保我抓住正确的logger
:
private readonly Logger logger;
public LogException()
{
logger = LogManager.GetLogger("MyLogger");
}
此外,底层.dll不要求我将它的NLog配置添加到主机app中的`nlog.config'文件。它具有以下配置来解决它的记录器依赖性:
<ioc type="Common.Container.SimpleDependencyResolver, Common" />
<container>
<components>
<component service="Common.Diagnostics.ILogFactory, Common" type="Diagnostics.NLog.LoggerFactory, Diagnostics.NLog" scope="Transient" />
</components>
</container>
当我检查其中的logger
工厂时,它指向位置B 的日志文件,而不是我的位置A 。
底线是,一旦第二个记录器写入,它就会超过我记录到我的日志的能力,即使我正在通过给定名称来实例化记录器。关于我可能缺少的任何想法,以便后续调用记录到我的日志?