时间:2021-05-20
在这里,记录我在项目中使用log4net记录本地日志的步骤。在不会之前感觉很难,很神秘,一旦会了之后其实没那么难。其实所有的事情都是一样的,下面我就分享一下我使用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>以上节点具体参数这里不做解释,可以上网查询帮助文档
注意:这两段XML要放在configuration 节点下靠前
第三步:打开项目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();
最后运行项目然后在以上配置文件中找到路径去文件夹里看看就生成了日志文件了。
注意:这里日志是以天为单位记录 如下:
以上这篇C#中四步轻松使用log4net记录本地日志的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Log4net的优点log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出
本文实例讲述了C#实现Log4Net日志分类和自动维护的实现方法。分享给大家供大家参考。具体实现方法如下:一、背景在程序中,我们调试运行时信息,Log4Net是
C#控制台程序使用Log4net日志组件,供大家参考,具体内容如下1、Log4net一般都不陌生,但是在配置上不同类型的项目又不相同的地方比如C#控制台程序和C
刚开始接触asp.net,关于日志记录怎么能少,因此简单记录一下log4net的配置和使用,以防以后忘记。首先引入log4net.dll,关于这个文件自己百度下
背景ELMAH就是一个日志的拦截和处理组件,说到.net的日志组件,大家的第一反应该是Log4Net、NLog等这些东西,关于Log4Net和NLog,可以说是