必威体育Betway必威体育官网
当前位置:首页 > IT技术

C#如何使用log4net记录本地日志

时间:2019-11-04 05:45:40来源:IT技术作者:seo实验室小编阅读:90次「手机版」
 

log4net

第一步:首先从Visual Studio中的Nuget包管理中搜索下载 Log4Net dll文件 如下图:

第二步:打开配置文件 WinFrom就是 APP.config Web就是 web.config 将以下配置信息加入

<configSections>

 <section name="log4net" type="log4net.Config.Log4NetconfigurationSectionhandler, log4net" />

</configSections>

<log4net>

 <logger name="SysRFLogger">

 <level value="DEBUG" />

 <appender-ref ref="SysRFAppender" />

 </logger>

 <logger name="DebugRFLogger">

 <level value="DEBUG" />

 <appender-ref ref="DebugAppender" />

 </logger>

 <logger name="MsgLogger">

 <level value="DEBUG" />

 <appender-ref ref="MsgAppender" />

 </logger>

 <logger name="OperInfoLogger">

 <level value="DEBUG" />

 <appender-ref ref="OperInfoAppender" />

 </logger>

 <appender name="SysRFAppender" type="log4net.Appender.RollingFileAppender">

 <file value="Logs\syslog.log" />

 <appendToFile value="true" />

 <rollingStyle value="Date" />

 <preserveLogFileNameExtension value="true" />

 <datePattern value="yyyyMMdd" />

 <layout type="log4net.Layout.PatternLayout">

  <conversionpattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

 </layout>

 </appender>

 <appender name="DebugAppender" type="log4net.Appender.RollingFileAppender">

 <file value="Logs\sysDebuglog.log" />

 <appendToFile value="true" />

 <rollingStyle value="Date" />

 <preserveLogFileNameExtension value="true" />

 <datePattern value="yyyyMMdd" />

 <layout type="log4net.Layout.PatternLayout">

  <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

 </layout>

 </appender>

 <appender name="MsgAppender" type="log4net.Appender.RollingFileAppender">

 <file value="Logs\Messagelog.log" />

 <appendToFile value="true" />

 <rollingStyle value="Date" />

 <preserveLogFileNameExtension value="true" />

 <datePattern value="yyyyMMdd" />

 <layout type="log4net.Layout.PatternLayout">

  <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

 </layout>

 </appender>

 <appender name="OperInfoAppender" type="log4net.Appender.AdoNetAppender">

 <bufferSize value="1" />

 <connectionType value="System.Data.sqlClient.SqlConnection, System.Data, Version=4.0.30319.18020, Culture=neutral, publickeytoken=b77a5c561934e089" />

 <commandText value="INSERT INTO LOG_USEROPERLOG ([ID],[Date],[User],[Flag],[OperInfo],[OperFlag],[OperResult],[Message]) VALUES (@Id,@log_date, @user, @flag, @operinfo,@operflag, @operresult, @message)" />

 <parameter>

  <parameterName value="@Id" />

  <dbType value="String" />

  <size value="36" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{ID}" />

  </layout>

 </parameter>

 <parameter>

  <parameterName value="@log_date" />

  <dbType value="DateTime" />

  <layout type="log4net.Layout.RawTimeStampLayout" />

 </parameter>

 <parameter>

  <parameterName value="@user" />

  <dbType value="String" />

  <size value="64" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{User}" />

  </layout>

 </parameter>

 <parameter>

  <parameterName value="@flag" />

  <dbType value="Int32" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{Flag}" />

  </layout>

 </parameter>

 <parameter>

  <parameterName value="@operinfo" />

  <dbType value="String" />

  <size value="255" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{OperInfo}" />

  </layout>

 </parameter>

 <parameter>

  <parameterName value="@operflag" />

  <dbType value="String" />

  <size value="32" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{OperFlag}" />

  </layout>

 </parameter>

 <parameter>

  <parameterName value="@operresult" />

  <dbType value="String" />

  <size value="255" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{OperResult}" />

  </layout>

 </parameter>

 <parameter>

  <parameterName value="@message" />

  <dbType value="String" />

  <size value="4000" />

  <layout type="NT.MultithreadingTaskService.Log.Layout.UserOperLayOut,NT.MultithreadingTaskService.Log">

  <param name="ConversionPattern" value="%property{Message}" />

  </layout>

 </parameter>

 </appender>

 <root>

 <level value="DEBUG" />

 <appender-ref ref="SysRFAppender" />

 </root>

</log4net>

第三步:打开项目assemblyinfo.cs文件(UI层)

加入:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "web.config", Watch = true)]

第四步:在需要记录日志的cs文件中初始化: private ILog _log = LogManager.GetLogger("ticketFace");

一般常用以下几个方法:

_log.ERROR();

_log.Debug();

_log.Info();

最后运行项目然后在以上配置文件中找到路径文件夹里看看就生成了日志文件了。

文章最后发布于: 2018-09-12 10:29:46

相关阅读

Excle的Sumif函数如何使用?

Excle的Sumif函数如何使用?下面是小编为大家精心整理的关于Excle的Sumif函数如何使用?希望能够帮助到你们。条件求和函数Sumif1比

ps阈值在哪里以及PS阈值使用详解

内容提要:本文介绍PS阈值在哪里以及PS阈值的作用和实际操作介绍.对PS感兴趣的朋友可加PS学习交流群:142574315首先,看看ps教程中阈值

数位板使用技巧、个人数位板见解、插画教程...

原文地址为:数位板使用技巧、个人数位板见解、插画教程...     这段的目的在于告诉大家,不要奢侈的追求昂贵

算法竞赛入门经典-习题3-6 纵横字谜的答案(Crossword A

习题3-6纵横字谜的答案(Crossword Answers, ACM/ICPC World Finals 1994,UVa232)输入一个r行c列(1≤r,c≤10)的网格,黑格用“*”表示,每

巴西龟饲养日志----冬眠苏醒

随着温度升高,巴西也从冬眠中苏醒过来了,已经非常活跃了,但是没有吃食的动静,还是由于温度太低的缘故,所以暂时没有吃东西,估计还需要几

分享到:

栏目导航

推荐阅读

热门阅读