我有以下日誌從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錯誤?
如果這是一個Web應用程序,它會期望該文件在Web根目錄中。 – dotjoe 2010-05-04 18:07:25
dotjoe,你是對的。它看起來像檢查出我的web.config並以某種方式找到一些XML解析錯誤。我的設置是錯誤的,我沒有一個global.asax文件來配置啓動。答案見下面的鏈接。謝謝你的提示。 http://stackoverflow.com/questions/2446556/how-to-configure-log4net-for-wcf – Mike 2010-05-04 23:09:07
很酷。爲了將來的參考,我發現'ConfigureAndWatch'方法比向AssemblyInfo.cs添加廢話要好得多。只需將其添加到Application_Start ...'log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath(「〜/ log4net.config」)));' – dotjoe 2010-05-05 18:03:38