由于' Logger.Logger()的保护级别

时间:2017-01-23 20:30:10

标签: c# wpf logging prism nlog

我目前正在使用C#开发一个新的Prism项目,并希望在我的Bootstrapper类中创建一个NLog Logger。不幸的是,无论我做什么都拒绝建立,告诉我......

  

' Logger.Logger()'由于其保护级别而无法访问。

我的代码片段列在下面......

namespace PrismTemplate
{

    public class Bootstrapper : UnityBootstrapper
    {
        #region Method Overrides

        protected override ILoggerFacade CreateLogger()
        {
            //ILoggerFacade logger = new NLogLogger();
            ILoggerFacade logger = new Logger();
            logger.Log("Prism Template Logger was Created.", Category.Info, Priority.None);
            return logger;

            //return new Logger();
            //return null;
        }

        protected override DependencyObject CreateShell()
        {
            return new ShellWindow();
        }

        protected override void InitializeShell()
        {
            base.InitializeShell();

            ///Assign the shell which is a window to the apps main window, and show it

            App.Current.MainWindow = (Window)this.Shell;
            App.Current.MainWindow.Show();

        }

        #endregion Method Overrides

    }
}

我在Visual Studio中通过Nuget下载了Prism和NLog。任何帮助解决这个问题的人都会非常感激。

谢谢,

Tesnich

1 个答案:

答案 0 :(得分:5)

由于记录器配置繁重,NLog已选择将日志创建职责委派给密封的LogManager类。

您可以使用其中一个获取实例:

LogManager.GetCurrentClassLogger()

LogManager.GetLogger(string name)