如何使用Log4Net实用程序使用c#登录数据库
发布时间:2020-12-15 07:58:15 所属栏目:百科 来源:网络整理
导读:参见英文答案 Storing Log4Net Messages in SQL Server2个 目前在我的项目中,log4net用于将所有异常,信息,警告等记录到文本文件中,但现在我想要的是将所有这些细节记录到数据库表而不是文件中. 请帮我这样做. 提前谢谢了. 组态: log4net root level value="
|
参见英文答案 >
Storing Log4Net Messages in SQL Server2个
目前在我的项目中,log4net用于将所有异常,信息,警告等记录到文本文件中,但现在我想要的是将所有这些细节记录到数据库表而不是文件中. 请帮我这样做. 提前谢谢了. 组态: <log4net>
<root>
<level value="DEBUG" />
<appender-ref ref="ADONetAppender" />
</root>
<appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">
<bufferSize value="100" />
<connectionType value="System.Data.SqlClient.SqlConnection,System.Data,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" />
<connectionString value="server=xxxx; uid=xxxx; pwd=xxxx; database=xxxx" />
<commandText value="INSERT INTO log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date,@thread,@log_level,@logger,@message,@exception)" />
<parameter>
<parameterName value="@log_date"/>
<dbType value="DateTime"/>
<layout type="log4net.Layout.RawTimeStampLayout"/>
</parameter>
<parameter>
<parameterName value="@thread"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterName value="@log_level"/>
<dbType value="String"/>
<size value="50"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterName value="@logger"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger"/>
</layout>
</parameter>
<parameter>
<parameterName value="@message"/>
<dbType value="String"/>
<size value="4000"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message"/>
</layout>
</parameter>
<parameter>
<parameterName value="@exception"/>
<dbType value="String"/>
<size value="2000"/>
<layout type="log4net.Layout.ExceptionLayout"/>
</parameter>
</appender>
</log4net>
.cs文件中的代码: private log4net.ILog log = log4net.LogManager.GetLogger(typeof(ImportGlobalIPVData));
log.Error("This is Error");
但是在使用上面的代码之后没有任何内容被插入日志表 解决方法
你可以看看
here,我想这正是你需要的.
请注意,如果要从客户端应用程序使用log4net并写入数据库,则可能需要考虑在其间放置服务.在这种情况下,您可以轻松编写自己的log4net适配器,该适配器调用登录到数据库的LogService(fire and forget)(可能使用MSMQ). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
