Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Log4Net无法解析xml配置_C#_Log4net_Log4net Configuration - Fatal编程技术网

C# Log4Net无法解析xml配置

C# Log4Net无法解析xml配置,c#,log4net,log4net-configuration,C#,Log4net,Log4net Configuration,我正在开发一个简单的.NET应用程序,并尝试使用log4Net来记录一些有用的信息。 对于基本配置,我没有问题。 当我尝试使用xml配置时,我遇到以下问题: log4net:加载XML配置System.XML.XmlException时出错:根级别的数据无效。第1行,位置1。在System.Xml.XmlTextReaderImpl.ThrowString res的System.Xml.XmlTextReaderImpl.ThrowString e处,System.Xml.XmlTextRead

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

log4net:加载XML配置System.XML.XmlException时出错:根级别的数据无效。第1行,位置1。在System.Xml.XmlTextReaderImpl.ThrowString res的System.Xml.XmlTextReaderImpl.ThrowString e处,System.Xml.XmlTextReaderImpl.PARSEROOTLEVELEVEL处的字符串arg在System.Xml.XMLTEADERIMPL.PARSEDocument处,System.Xml.XMLTEXTREADER处读取System.Xml.XmlLoader.LoadXmlDocument文档文档,XmlReader处,Boolean保留log4net.Config.XmlConfigurator.internalconfigureilogger存储库中System.Xml.XmlDocument.LoadXmlReader读取器处的空白,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是正确的。

解决了,我只是键入了错误的父项。我将为社区回答这个问题


var xmlConfig=Path.GetDirectoryNameAssembly.getExecutionGassembly.Location+Path.DirectorySeparatorChar+logConfig.xml

检查你的XML中是否有不可打印的字符,我自己才知道。获取目录名时出现错误,我将尽快发布自动应答!你可能还想看看。如果只有1个Path.directoryseportorchar,则不会产生太大的差异,但只要开始连接一些路径组件,就会产生差异。它还考虑每个组件是否在开始/结束处有/等。