我怎么知道log4net认为它从哪里获取配置文件?

时间:2010-05-04 17:50:14

标签: log4net log4net-configuration

我从log4net调试日志中得到以下日志:

log4net:DefaultRepositorySelector:repository [log4net-default-repository]已经存在,使用存储库类型[log4net.Repository.Hierarchy.Hierarchy] log4net:XmlConfigurator:使用文件[log4net.config]配置存储库[log4net-default-repository],查看文件更新 log4net:XmlConfigurator:使用文件[log4net.config]配置存储库[log4net-default-repository] log4net:XmlConfigurator:使用流配置存储库[log4net-default-repository] log4net:错误XmlConfigurator:加载XML配置时出错 System.Xml.XmlException:''是一个意外的令牌。预期令牌是'>'。第7行,第184位。    在System.Xml.XmlTextReaderImpl.Throw(例外e)    在System.Xml.XmlTextReaderImpl.Throw(String res,String [] args)    在System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(String expectedToken1,String expectedToken2)    在System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(Int32 pos,String expectedToken1,String 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.XmlValidatingReader.Read()    在System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)    在System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)    在System.Xml.XmlLoader.Load(XmlDocument doc,XmlReader reader,Boolean preserveWhitespace)    在System.Xml.XmlDocument.Load(XmlReader阅读器)    at log4net.Config.XmlConfigurator.Configure(ILoggerRepository repository,Stream configStream)

唯一的问题是,我不知道它认为它获取此log4net.config文件的位置,因为在我的AssemblyInfo.cs中我已将其定义为:

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

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

1 个答案:

答案 0 :(得分:0)

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

如果你使用一个单独的配置文件,让你的应用程序找到它的快速简单(和脏)的方法是将配置文件放在webroot中......