C # Use log4net to easily record local logs in step 4,

Source: Internet
Author: User
Tags log4net

C # Use log4net to easily record local logs in step 4,

Here, record the steps for logging local logs using log4net in my project. It is difficult and mysterious before it is done. Once it is done, it is actually not that difficult. In fact, everything is the same. Next I will share my experience with log4Net.

Step 1: search for and download the Log4Net dll file from Nuget package management in Visual Studio, for example:

Select the project to be installed (select the class library that requires logging)

Step 2: Open the configuration file WinFrom, that is, App. config Web, or web. config. Add the following configuration information
  <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>

The specific parameters of the above nodes are not explained here. You can query the help documentation online.

Note: These two pieces of XML must be placed before the configuration node.

 

Step 3: Open the project AssemblyInfo. cs file (UI Layer)

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

 

Step 4: Initialize private ILog _ log = LogManager. GetLogger ("TicketFace") in the cs file to record logs ");

 

The following methods are commonly used:

_ Log. Error ();
_ Log. Debug ();
_ Log. Info ();

 

Finally, run the project and find the path in the above configuration file to go To the folder to see if the log file is generated.

Note: logs are recorded in days as follows:

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.