在我最近的应用程序中,我使用Nlog来记录所有项目中的错误和调试信息。我开发了一个包装Nlog的类库,并使用静态方法来调用Nlog函数。 问题是我没有使用DI,所以我可以从My ASP.net应用程序和类库中添加对Wrapper库的引用。
现在,我正在开发ASP.NET核心APP,我可以使用构建DI服务。
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
//add NLog to ASP.NET Core
loggerFactory.AddNLog();
env.ConfigureNLog("nlog.config");
}
然后,我可以在API控制器中获取ILogger来记录我的消息。但是,此记录器仅在站点中可用,如何记录在其他类库(例如存储库层)中发生的任何错误或信息。如何实现在所有类库中共享