log4net安全上下文无法找到域

时间:2013-03-05 12:17:50

标签: log4net-configuration

我有一个配置文件来登录SQL服务器数据库。 当我使用sql帐户时,日志记录工作正常,但我需要使用Windows帐户来访问数据库。因此,我将配置文件更改为包含SecurityContext。

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=SERVER;initial catalog=DB;integrated security=false;persist security info=True" />
<securityContext type="log4net.Util.WindowsSecurityContext">
  <domain value ="DOMAIN"/>
  <userName value="USER" />
  <password value="PASSWORD" />      
</securityContext>

但这不起作用。我打开了内部日志记录,令我惊讶的是我得到了

log4net:ERROR XmlHierarchyConfigurator: Cannot find Property [domain] to set object on [log4net.Util.WindowsSecurityContext]

但是我在securityContext中定义了域名。为什么它不能识别我的域名?

1 个答案:

答案 0 :(得分:0)

遇到同样的问题后,我发现解决方案最有可能是将属性domain重命名为domainName。供将来参考:

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
    <bufferSize value="1" />
    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <connectionString value="data source=SERVER;initial catalog=DB;integrated security=false;persist security info=True" />
    <securityContext type="log4net.Util.WindowsSecurityContext">
        <domainName value="DOMAIN" />
        <userName value="USER" />
        <password value="PASSWORD" />      
    </securityContext>
</appender>