Ich möchte die Verbindungszeichenfolge des log4net AdoNetAppender verschlüsseln.Verschlüsseln Sie den vom log4net AdoNetAppender verwendeten ConnectionString
Kann dies ohne Verschlüsselung des gesamten Appenders durchgeführt werden?
Dion Olsthoorn blogged über die Einstellung der Verbindungszeichenfolge in Code, aber ich würde es vorziehen, es in einer Konfigurationsdatei zu tun, die Protokollierung gewidmet ist, da es eine andere Datenbank als der Rest der Anwendung verwendet.
Unten ist die Beispielconfig von http://logging.apache.org/log4net/release/sdk/log4net.Appender.AdoNetAppender.html
<appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout" value="%thread" />
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout" value="%level" />
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout" value="%logger" />
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout" value="%message" />
</parameter>
</appender>
Ich habe gerade eine Suche durch die Quelle für 1.2.10 und konnte ConnectionStringName nirgendwo finden. Wo soll ich hinschauen? Danke. –
@Daniel - Die Antwort mit einigen Referenzen aktualisiert. –