我在一个解决方案中有8个控制台项目(我打算将它们转换为未来的服务),并且互相引用。我打算创建一个ILogger接口和Logger类来封装Nlog方法,因为我不想在每个项目中引用nlog。并将该接口从Core项目传递给其他所有构建参数。像在一个解决方案中使用NLog处理多个项目c#
using Core
...
ILogger logger = new Logger();
问题的东西是:
1)我可以使用一个配置,每记录?我使用here的想法。主要是调用者信息属性来获取程序集名称等。所以我不需要不同的日志文件或设置来确定日志的来源。
2)我应该这样做,并创建ILogger的8个实例,而不是在核心程序集的静态类上创建,并根据需要每次调用它的方法。我已经在其他程序集中引用了Core,因此不会再提供新的参考。我对8个ILoggers的关注是并发写入一个文件/数据库。