log4net:错误加载XML配置时出错System.Xml.XmlException:根级别的数据无效。第1行,位于System.Xml.XmlTextReaderImpl.Throw(Exception e)的System.Xml.XmlTextReaderImpl.Throw(String res,String arg),位于System.Xml.XmlTextReaderImpl的System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()处。位于System.Xml.XmlLoader.Load(XmlDocument doc,XmlReader reader,Boolean preserveWhitespace)的System.Xml.XmlTextReaderImpl.Read()中的ParseDocumentContent()位于log4net.Config.XmlConfigurator的System.Xml.XmlDocument.Load(XmlReader reader)。 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是正确的。
答案 0 :(得分:0)
解决了,我只是输错了一个肠胃外。我会为社区回答这个问题
var xmlConfig = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + "logConfig.xml";