我正在使用的Web应用程序使用log4net进行日志记录。该项目的一个要求是连接字符串应该被加密。我如何告诉log4net使用解密值?如何从web.config中获取log4net来解密加密的连接字符串?
例如:
<log4net>
<root>
<level value="Debug"/>
<appender-ref ref="AdoNetAppender"/>
</root>
<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="encryptedconnectionstringhere=="/>
有没有办法做到这一点?
是的,我想'ResolveConnectionString'会引入不必要的递归......它应该调用'base.ResolveConnectionString'来代替它,以便它会回调到父实现(我已经为未来的观察者更新了答案)。如果您在appender设置中提供了连接字符串名称,而不是实际的连接字符串,那么您需要这样做的唯一原因是。 AdoNetAppender根据几个配置属性解析实际的连接字符串。在你的情况下,这可能没有必要。 – 2012-07-26 16:56:22