忽略powershell中的log4net错误

时间:2014-10-15 08:10:39

标签: powershell log4net

我在脚本上有一个问题,基本上我没有使用任何log4net或其他什么而且我没有计划,但我在脚本中访问的一些资源我想有一些对这个log4net的引用,所以我得到这样的消息:

  

log4net:错误XmlConfigurator:找不到配置部分   应用程序的.config文件中的“log4net”。检查.config文件   对于和元素。配置   部分应该如下:

我真的不关心这个,因为这也不是一个真正的错误,我会优先以某种方式隐藏这个消息来自提示窗口,这可能吗?

如何在没有太多麻烦的情况下忽略这些信息?

1 个答案:

答案 0 :(得分:1)

此消息来自log4net internal debugging,表示未在配置文件中找到log4net配置信息。我觉得奇怪的是,这种信息通常是选择加入:

  

在log4net中启用内部调试有两种不同的方法。   这些列在下面。首选方法是指定   应用程序配置文件中的log4net.Internal.Debug选项。

     
      
  • 也可以通过在应用程序的配置文件中设置一个值来启用内部调试(不是log4net配置文件,   除非log4net配置数据嵌入在应用程序的配置中   文件)。必须将log4net.Internal.Debug应用程序设置设置为   值为true。例如:

         

                                  

         

    启动时立即读取此设置,将导致发出所有内部调试消息。

  •   
  • 要以编程方式启用log4net的内部调试,您需要将log4net.Util.LogLog.InternalDebugging属性设置为true。   显然,设置越早,将产生越多的调试。

  •   

因此,一个组件的代码使用代码方法,或者配置值设置为true。您的选择是:

  • 查看配置文件以获取对log4net.Internal.Debug配置键的引用;如果你发现一个设置为true,则将其设置为false。
  • 在配置文件中添加一个空的log4net部分以满足配置程序并防止它抱怨
  • 如果通过代码设置内部调试,您可以重定向控制台和跟踪追加器(请参阅内部调试写入的链接)但这实际上取决于您的环境,因此您需要再挖一点,找出如何捕获所有输出。不是很简单