c# - 如何使用 Ninject.Extensions.Logging 在 void Main 中获取 Logger?

标签 c# ninject nlog ninject-extensions

我使用 Ninject 进行 DI 操作,使用 Ninject.Extensions.Logging (使用 NLog)进行记录器注入(inject)。我想在程序开始时在我的 Main void 中获取 Logger 的实例。

我尝试了这段代码:

private static void Main()
{
    var logger = new StandardKernel(new NLogModule()).Get<ILogger>();
}

但我收到错误加载 NLogModule 类型的模块“Ninject.Extensions.Logging.NLog2.NLogModule”时出错

如何在此方法中获取 Logger 实例?

最佳答案

扩展程序会自动加载。您无法再次手动加载它。只需使用

new StandardKernel().Get<ILoggerFactory>().GetCurrentClassLogger();

关于c# - 如何使用 Ninject.Extensions.Logging 在 void Main 中获取 Logger?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893239/

相关文章:

c# - 如何从 Asp Net Core WebApi 将日志存储到 Azure 表存储?

asp.net - 对于在 Azure Web App 上运行的任何自定义目标,NLog 都会抛出 'Target cannot be found'

c# - NLog 不写调试消息

ninject - 通过 ToMethod 将接口(interface)绑定(bind)到带参数的方法

c# - 列表上的哈希函数独立于其中的项目顺序

c# - 空合并赋值运算符的行为

c# - StreamReader.ReadLine() 不消耗流

c# - Ninject 2 : Is there an equivalent to 1. 5的InjectProperties在哪里?

asp.net-mvc - 如何将 Ninject 与 ASP.NET Web API 一起使用?

c# - Windows Phone IValueConverter 问题