log4net的无法解析的XML配置
我正在开发一个简单的.NET应用程序,我tryng使用log4net的登录一些有用的信息。 基本配置我没有问题。 当我尝试使用xml配置时,出现以下问题:log4net的无法解析的XML配置
log4net:错误加载XML配置时出错System.Xml.XmlException:根级别的数据无效。 1号线,在System.Xml.XmlTextReaderImpl.Throw(例外五)在System.Xml.XmlTextReaderImpl.Throw(字符串RES,字符串ARG)在System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()在System.Xml.XmlTextReaderImpl位置1。 ParseDocumentContent()在System.Xml.XmlTextReaderImpl.Read()在System.Xml.XmlLoader.Load(XmlDocument的文档,读取器的XmlReader,布尔preserveWhitespace)在System.Xml.XmlDocument.Load(的XmlReader读取器)在log4net.Config.XmlConfigurator。 InternalConfigure(ILoggerRepository库,流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是正确的假设有在文档中没有错误。
解决,我刚才输入错了一个parentesis。我会回答这个社区
var xmlConfig = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + "logConfig.xml";
你可能想看看['Path.Combine'(https://msdn.microsoft.com/en-us/library/system.io.path.combine(V = vs.110)的.aspx)也。由于只有1'Path.DirectorySeparatorChar'它不会使_too_太大的差别,但只要你开始有几个路径组件来连接它的确与众不同。它还会考虑每个组件在开始/结束时是否有'/'等。 –
检查XML的非打印字符,http://*.com/questions/291455/xml-data-at-root-level-is-invalid – CodeCaster
我只是想出我自己。获取目录名称时出现错误的parentesis,我将发布一个autoanswer Asap! – Razlo3p