C#打印日志

来源:互联网 发布:淘宝店铺内衣名字大全 编辑:程序博客网 时间:2024/05/21 09:18

最近刚刚探究了一下C#,写了一个打印日志的小案例
需要引入一个日志的dll文件:log4net.dll
引入一个config配置文件:

<?xml version="1.0"?><configuration>  <configSections>    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>      <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">        <section name="测试科学计算器.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>      </sectionGroup>  </configSections>  <!-- Log4.net 配置-->  <log4net>    <logger name="Service">      <level value="ALL"/>      <appender-ref ref="rollingFileService"/>    </logger>    <appender name="rollingFileService" type="log4net.Appender.RollingFileAppender,log4net">      <param name="File" type="" value="./log/Service/log"/>      <param name="AppendToFile" value="true"/>      <param name="Encoding" value="Unicode"/>      <param name="RollingStyle" value="composite"/>      <param name="maximumFileSize" value="10MB"/>      <param name="DatePattern" value="_yyyy-MM-dd.TXT"/>      <param name="StaticLogFileName" value="false"/>      <layout type="log4net.Layout.PatternLayout,log4net">        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>        <param name="Header" value="◇"/>        <param name="Footer" value="◆"/>      </layout>    </appender>    <!--定义输出到控制台命令行中-->    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>      </layout>    </appender>    <!--定义输出到windows事件中-->    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">      <layout type="log4net.Layout.PatternLayout">        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>      </layout>    </appender>    <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">      <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb"/>      <commandText value="INSERT INTO sys_log4 ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)"/>      <!--定义各个参数-->      <parameter>        <parameterName value="@logDate"/>        <dbType value="String"/>        <size value="240"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="%date"/>        </layout>      </parameter>      <parameter>        <parameterName value="@thread"/>        <dbType value="String"/>        <size value="240"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="%thread"/>        </layout>      </parameter>      <parameter>        <parameterName value="@logLevel"/>        <dbType value="String"/>        <size value="240"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="%level"/>        </layout>      </parameter>      <parameter>        <parameterName value="@logger"/>        <dbType value="String"/>        <size value="240"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="%logger"/>        </layout>      </parameter>      <parameter>        <parameterName value="@message"/>        <dbType value="String"/>        <size value="240"/>        <layout type="log4net.Layout.PatternLayout">          <conversionPattern value="%message"/>        </layout>      </parameter>    </appender>    <!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->    <root>      <!--文件形式记录日志-->      <appender-ref ref="LogFileAppender"/>      <!--控制台控制显示日志-->      <appender-ref ref="ConsoleAppender"/>      <!--Windows事件日志-->      <appender-ref ref="EventLogAppender"/>      <!-- 如果不启用相应的日志记录,可以通过这种方式注释掉      <appender-ref ref="AdoNetAppender_Access" />      -->    </root>  </log4net><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

注意:

  <section name="测试科学计算器.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>      </sectionGroup>

*这句话里面的
name=”测试科学计算器.Properties.Settings” 是需要改变的,”测试科学计算器“:是你c#的命名空间,
其他的代码不需要改动就可以直接使用了*

下面介绍一下使用这个config类的方法:

using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using log4net; /// <summary>///wlog 的摘要说明/// </summary>[assembly: log4net.Config.XmlConfigurator(Watch = true)]public class log{        public log()        {        }        //引用这个配置文件的  <logger name="Service">        public static log4net.ILog Entrylog = log4net.LogManager.GetLogger("Service");       ///          /// 记录一个错误信息         ///          /// 信息内容         /// 异常对象          public static void Error(string message, Exception exception)         {                 Entrylog.Error(message,exception);         }             ///              /// 记录一个错误信息             ///              /// 信息内容          public static void Error(string message)              {                 Entrylog.Warn(message);             }             ///              /// 记录一个警告信息             ///              /// 信息内容          public static void Warning(string message)             {                 Entrylog.Warn(message);             }         ///          /// 记录一个程序致命性错误         ///          ///  信息内容         /// 异常对象          public static void Fatal(string message, Exception exception)          {         Entrylog.Fatal(message,exception);         }         ///          /// 记录一个程序致命性错误         ///          /// 信息内容          public static void Fatal(string message)          {             Entrylog.Fatal(message);         }         ///          /// 记录信息         ///          /// 信息内容         /// 异常对象          public static void Info(string message, Exception exception)          {           Entrylog.Info(message,exception);         }         ///          ///  记录信息         ///          /// 信息内容          public static void Info(string message)          {         Entrylog.Info(message);         }         ///          /// 记录调试信息         ///          /// 信息内容         /// 异常对象          public static void Debug(string message, Exception exception)          {             Entrylog.Debug(message,exception);         }         ///          ///  记录调试信息         ///          /// 信息内容          public static void Debug(string message)          {         Entrylog.Debug(message);         }     }

这样在你想要打印日志的代码直接用就可以了
例如:

这里写图片描述

日志就打印出来了!!!!!!

原创粉丝点击