2010-05-04 62 views
3

我有以下日志从log4net的调试日志:我如何知道log4net认为它是从哪里获取其配置文件?

log4net的:DefaultRepositorySelector:库[log4net的默认存储库]已经存在,使用库类型[log4net.Repository.Hierarchy.Hierarchy] log4net的:XmlConfigurator:配置使用文件[log4net.config]配置库[log4net-default-repository] ​​ log4net:XmlConfigurator:配置库[log4net-default-repository]使用文件[log4net.config]监视文件更新 log4net:默认存储库]使用流 log4net:错误XmlConfigurator:加载XML配置时出错 System.Xml.XmlException:''是一个意外的标记。预期的标记是'>'。 (System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.Throw(String res,String [] args) at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(String expectedToken1,串expectedToken2) 在System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(POS的Int32,字符串expectedToken1,串expectedToken2) 在System.Xml.XmlTextReaderImpl.ParseAttributes() 在System.Xml.XmlTextReaderImpl.ParseElement() 在的System.Xml。 XmlTextReaderImpl.ParseElementContent() 在System.Xml.XmlTextReaderImpl.Read() 在System.Xml.XmlTextReader.Read() 在System.Xml.XmlValidatingReaderImpl.Read() 在System.Xml.XmlValidatingRead er.Read() 在System.Xml.XmlLoader.LoadNode(布尔skipOverWhitespace) 在System.Xml.XmlLoader.LoadDocSequence(XmlDocument的parentDoc) 在System.Xml.XmlLoader.Load(XmlDocument的文档,读取器的XmlReader,布尔preserveWhitespace) 在System.Xml.XmlDocument.Load(XmlReader中读取) 在log4net.Config.XmlConfigurator.Configure(ILoggerRepository库,流configStream)

唯一的问题是,我不知道从哪里它认为它得到这个log4net的。 config文件,因为在我的AssemblyInfo.cs中我已经定义它是:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "api4net.config", Watch = true)] 

有没有一种简单的方法来确定log4net在哪里加载这个神秘的log4net.config有一些xml错误?

+0

如果这是一个Web应用程序,它会期望该文件在Web根目录中。 – dotjoe 2010-05-04 18:07:25

+0

dotjoe,你是对的。它看起来像检查出我的web.config并以某种方式找到一些XML解析错误。我的设置是错误的,我没有一个global.asax文件来配置启动。答案见下面的链接。谢谢你的提示。 http://stackoverflow.com/questions/2446556/how-to-configure-log4net-for-wcf – Mike 2010-05-04 23:09:07

+1

很酷。为了将来的参考,我发现'ConfigureAndWatch'方法比向AssemblyInfo.cs添加废话要好得多。只需将其添加到Application_Start ...'log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath(“〜/ log4net.config”)));' – dotjoe 2010-05-05 18:03:38

回答

0

我认为应该在app.config或web.config中配置appender。但我是log4net新手。菲尔哈克写道:

如果你使用一个单独的配置文件,快速和容易的(脏)的方式来让应用程序发现这是放置在Web根目录的配置文件...

相关问题