繁体   English   中英

使用log4net从数据库记录SQL异常

[英]Logging SQL exceptions from database using log4net

我有一个wcf服务,该服务在sql数据库中调用存储过程。 我将log4net用于记录目的。

如果从数据库抛出任何SQL异常,我可以从服务中的异常对象获取sql异常属性,例如过程名称,错误行,严重性等。

但是,有没有一种方法可以使用log4net将这些属性直接记录在文件中?

跟着这些步骤:

  1. 添加对log4net dll的引用
  2. 使用log4net导入以下名称空间; 使用log4net.Config;
  3. 将以下代码添加到全局声明中

     private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 
  4. 将此代码添加到您的构造函数中

     XmlConfigurator.Configure(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + @"\\Config\\Log4Net.config")); 
  5. 将以下内容复制到配置标签下的配置文件中

 <configSections> section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net debug="true"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="C:\\\\Temp\\\\errLog.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> </layout> </appender> <root> <level value="DEBUG" /> <level value= "ERROR" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> 

  1. 在try ... catch(Exception ex)中添加以下行

     log.Error(ex) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM