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

发布于 2024-08-31 10:49:12 字数 1706 浏览 4 评论 0原文

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

log4net: DefaultRepositorySelector: 存储库 [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(字符串预期令牌1,字符串预期令牌2) 在System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(Int32 pos,字符串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.XmlValidatingReader.Read() 在System.Xml.XmlLoader.LoadNode(布尔skipOverWhitespace) 在System.Xml.XmlLoader.LoadDocSequence(XmlDocumentparentDoc) 在System.Xml.XmlLoader.Load(XmlDocument文档,XmlReader阅读器,布尔保留空白) 在 System.Xml.XmlDocument.Load(XmlReader 阅读器) 在 log4net.Config.XmlConfigurator.Configure(ILoggerRepository repository, Stream configStream)

唯一的问题是,我不知道它认为它在哪里获取这个 log4net.config 文件,因为在我的 AssemblyInfo.cs 中我已将其定义为

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

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

I have the following log from the log4net debug log:

log4net: DefaultRepositorySelector: repository [log4net-default-repository] already exists, using repository type [log4net.Repository.Hierarchy.Hierarchy]
log4net: XmlConfigurator: configuring repository [log4net-default-repository] using file [log4net.config] watching for file updates
log4net: XmlConfigurator: configuring repository [log4net-default-repository] using file [log4net.config]
log4net: XmlConfigurator: configuring repository [log4net-default-repository] using stream
log4net:ERROR XmlConfigurator: Error while loading XML configuration
System.Xml.XmlException: ' ' is an unexpected token. The expected token is '>'. Line 7, position 184.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.Throw(String res, String[] args)
at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(String expectedToken1, String expectedToken2)
at System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(Int32 pos, String expectedToken1, String expectedToken2)
at System.Xml.XmlTextReaderImpl.ParseAttributes()
at System.Xml.XmlTextReaderImpl.ParseElement()
at System.Xml.XmlTextReaderImpl.ParseElementContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlTextReader.Read()
at System.Xml.XmlValidatingReaderImpl.Read()
at System.Xml.XmlValidatingReader.Read()
at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at log4net.Config.XmlConfigurator.Configure(ILoggerRepository repository, Stream configStream)

The only problem is, I have no idea where it thinks it's getting this log4net.config file, since in my AssemblyInfo.cs I have defined it to be:

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

Is there an easy way to determine where log4net is loading this mystical log4net.config that has some xml errors?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拿命拼未来 2024-09-07 10:49:12

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

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

I thought one should config the appenders in the app.config or in the web.config. but i am log4net newbie. phil haack wrote:

If you use a separate config file, a quick and easy (and dirty) way to have your application find it is to place the config file in the webroot ...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文