忽略powershell中的log4net错误

忽略powershell中的log4net错误,powershell,log4net,Powershell,Log4net,我对脚本有一个问题,基本上我不使用任何log4net或其他任何东西,我也没有计划,但是我在脚本期间访问的一些资源我想有一些对log4net的引用,所以我得到以下消息: log4net:错误XmlConfigurator:找不到配置节 应用程序的.config文件中的“log4net”。检查你的.config文件 对于和元素。配置 第节应该如下所示: 我真的不在乎这一点,因为这也不是一个真正的错误,我更愿意以某种方式从propmpt窗口隐藏这些消息,这可能吗 我怎么能不费吹灰之力就忽略这些信息呢

我对脚本有一个问题,基本上我不使用任何log4net或其他任何东西,我也没有计划,但是我在脚本期间访问的一些资源我想有一些对log4net的引用,所以我得到以下消息:

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

我真的不在乎这一点,因为这也不是一个真正的错误,我更愿意以某种方式从propmpt窗口隐藏这些消息,这可能吗


我怎么能不费吹灰之力就忽略这些信息呢

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

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

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

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

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

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

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

您的回答是正确的,我认为这是向配置文件中添加一个空节的最佳方法,但如何做到这一点?为它添加一个节,然后使用一个空的log4net标记,我可以在脚本中单独加载它,因为我不确定要修改哪个配置文件,我尝试将其添加到我的主配置文件中,但没有成功,这实际上取决于您在脚本中使用的组件(可执行文件或程序集,由您加载还是以其他方式加载?)。尝试查找可能使用的不同配置文件,您可能会在其中一个文件中找到一些信息