【发布时间】:2010-09-15 12:33:21
【问题描述】:
我决定使用log4net 作为新Web 服务项目的记录器。一切正常,但是对于我在web.config 中使用的每个 log4net 标签,我都会收到很多如下所示的消息:
找不到架构信息 元素'log4net'...
以下是我web.config的相关部分:
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\log.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level: %message%newline" />
</layout>
</appender>
<logger name="TIMServerLog">
<level value="DEBUG" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
已解决:
- 将每个 log4net 特定标签复制到单独的
xml文件中。确保使用.xml作为文件扩展名。 - 将以下行添加到
AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "xmlFile.xml", Watch = true)]
nemo 已添加:
只是对任何人的警告 听从答案的建议 这个线程。有一种可能 使用 log4net 带来的安全风险 根目录下的 xml 配置 Web 服务的,因为它将是 默认情况下任何人都可以访问。只是 如果您的配置被告知 包含敏感数据,您可能需要 放在别的地方。
@wcm:我尝试使用单独的文件。我将以下行添加到AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
并将处理 log4net 的所有内容都放在该文件中,但我仍然收到相同的消息。
【问题讨论】:
标签: web-services logging schema web-config log4net