我有一个配置文件来登录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中定义了域名。为什么它不能识别我的域名?
答案 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>