c# - 我如何将当前网站的 connectionString 用于 log4Net 而不是配置

标签 c# log4net connection-string

<分区>

我将 log4Net 用于我的系统日志。如果 appender 类型是 Log4Net 中的 AdoNetAppender,则 connectionString 节点是必需的。但是,我在使用 Log4Net 的网站上已经有一个 connectionString。

如何将网站的 connStr 用于 log4Net,而不是在 log4net 配置文件中再次配置相同的 connstr?

最佳答案

非常简单,只需要替换appender的connectionString配置即可。

代替连接字符串:

<connectionString value="[Complete Connection]" />

您只需使用 connectionStringName 配置:

<connectionStringName value="ApplicationConnection" />

然后你有你的应用程序连接字符串:

 <connectionStrings>
     <add name="ApplicationConnection" connectionString="Connection" providerName="System.Data.OracleClient" />
 </connectionStrings>

不幸的是,您必须拥有带有 connectionStringName 的 connectionType,例如:

<appender name="AdoNetAppender_Oracle" type="log4net.Appender.AdoNetAppender">
    <connectionType value="System.Data.OracleClient.OracleConnection, System.Data.OracleClient, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    <connectionStringName value="ApplicationConnection" />
...

关于c# - 我如何将当前网站的 connectionString 用于 log4Net 而不是配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9723051/

相关文章:

c# - 模型绑定(bind)复选框?

c# - 如何从 ViewModel (WPF) 引用 UI 元素?

c# - 继承或标识符

.net - 当 3rd 方库依赖于旧版本时,使用带有新 publicKeyToken 的另一个版本的程序集

spring-boot - Azure环境变量不起作用: "Factory method ' dataSource' threw exception with message: URL must start with 'jdbc' "

c# - 使用 .NET 发送电子邮件 - 不那么容易

c# - 3rd 方库引用不同版本的 log4net.dll

vb.net - VB.NET 中作为参数的委托(delegate)

azure - 将 .edmx 连接字符串添加到 Azure "Application Settings"

asp.net - ASP.NET 应用程序中的 connectionString 超时应该有多长? (sql客户端)