【问题标题】:Log4Net cannot parse xml configurationLog4Net 无法解析 xml 配置
【发布时间】:2015-10-05 10:33:15
【问题描述】:

我正在开发一个简单的 .NET 应用程序,我正在尝试使用 log4Net 来记录一些有用的信息。 使用基本配置我没有问题。 当我尝试使用 xml 配置时,我遇到了以下问题:

log4net:ERROR 加载 XML 配置时出错 System.Xml.XmlException: 根级别的数据无效。第 1 行,位置 1。位于 System.Xml.XmlTextReaderImpl.Throw(String res, String arg) 处 System.Xml.XmlTextReaderImpl.Throw(Exception e) 处 System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace() 处 System.Xml.XmlTextReaderImpl。 ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at log4net.Config.XmlConfigurator。 InternalConfigure(ILoggerRepository 存储库,Stream configStream)

这段代码如下:

var xmlConfig = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location+path.DirectorySeparatorChar+"logConfig.xml");
if (xmlConfig != null) XmlConfigurator.Configure(new FileInfo(xmlConfig));
else BasicConfigurator.Configure();

xml文件直接取自log4net文档,如下

<log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="INFO" />
        <appender-ref ref="ConsoleAppender" />
    </root>
</log4net>

我该如何解决这个错误,我认为 xml 是正确的,假设文档中没有错误。

【问题讨论】:

  • 检查您的 XML 中是否有不可打印的字符,stackoverflow.com/questions/291455/…
  • 我刚刚弄清楚了自己。获取目录名称的括号错误,我会尽快发布自动回复!

标签: c# log4net log4net-configuration


【解决方案1】:

已解决,我只是输入了错误的双亲。我会为社区回答这个问题

var xmlConfig = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + "logConfig.xml";

【讨论】:

  • 您可能还想看看Path.Combine。只有 1 个Path.DirectorySeparatorChar 它不会产生太大的差异,但是一旦您开始使用一些路径组件来连接它就会产生差异。它还负责每个组件在开始/结束时是否有/ 等。
猜你喜欢
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 2011-06-10
  • 2013-08-10
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 2019-01-07
相关资源
最近更新 更多