禁用Topshelf控制台输出

时间:2014-11-12 19:46:18

标签: c# console output topshelf

调用HostConfigurator.RunAsLocalSystem()或同等版本时,TopShelf库会向控制台输出几行。

如何防止TopShelf输出这些行?

2 个答案:

答案 0 :(得分:3)

虽然威廉·莫里森的回答是正确的,但是为了让这里的人们能够利用TopShelf进行日志记录,这是使用NLog的方法之一

步骤1:通过NuGet安装以下内容 PackageManager控制台>安装包TopShelf PackageManager控制台>安装包TopShelf.NLog

步骤2:在配置lambda中,告诉TopShelf您打算使用NLog

HostFactory.Run(configurator =>
            {
                configurator.Service<NotificationEngineService>(svc =>
                {
                    // configure service start, stop etc. here
                });

                // The below option is add via TopShelf.NLog.dll assembly
                configurator.UseNLog();
                // Continue configuring

            });

答案 1 :(得分:2)

控制台输出是记录信息。如果您使用Topshelf的日志框架,则行显示在日志文件中而不是控制台中。

我建议在Topshelf中使用日志框架。无论如何,您应始终登录一个严肃的项目,它会消除控制台中的行。赢/赢。