log4net

 配制文件详细说明

 

  1. <?xml version="1.0"?>
  2. <!-- 
  3.     注意: 除了手动编辑此文件以外,您还可以使用 
  4.     Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
  5.      “网站”->“Asp.Net 配置”选项。
  6.     设置和注释的完整列表在 
  7.     machine.config.comments 中,该文件通常位于 
  8.     /Windows/Microsoft.Net/Framework/v2.x/Config 中
  9. -->
  10. <configuration>
  11.   <!--日志配置部分-->
  12.   <configSections>
  13.     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  14.   </configSections>
  15.   <!--站点日志配置部分-->
  16.   <log4net>
  17.     <!--写入到数据库-->
  18.     <appender name="ADONetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
  19.       <!--<bufferSize value="10" />-->
  20.       <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
  21.       <connectionString value="Server=localhost;UID=sa;PWD=sa;DataBase=log;Max Pool Size=1000"/>
  22.       <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
  23.       <parameter>
  24.         <parameterName value="@log_date"/>
  25.         <dbType value="DateTime"/>
  26.         <!-- 
  27.                 <layout type="log4net.Layout.PatternLayout">
  28.                     <conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
  29.                 </layout> 
  30.                 -->
  31.         <layout type="log4net.Layout.RawTimeStampLayout"/>
  32.       </parameter>
  33.       <parameter>
  34.         <parameterName value="@thread"/>
  35.         <dbType value="String"/>
  36.         <size value="255"/>
  37.         <layout type="log4net.Layout.PatternLayout">
  38.           <conversionPattern value="%thread"/>
  39.         </layout>
  40.       </parameter>
  41.       <parameter>
  42.         <parameterName value="@log_level"/>
  43.         <dbType value="String"/>
  44.         <size value="50"/>
  45.         <layout type="log4net.Layout.PatternLayout">
  46.           <conversionPattern value="%level"/>
  47.         </layout>
  48.       </parameter>
  49.       <parameter>
  50.         <parameterName value="@logger"/>
  51.         <dbType value="String"/>
  52.         <size value="255"/>
  53.         <layout type="log4net.Layout.PatternLayout">
  54.           <conversionPattern value="%logger"/>
  55.         </layout>
  56.       </parameter>
  57.       <parameter>
  58.         <parameterName value="@message"/>
  59.         <dbType value="String"/>
  60.         <size value="4000"/>
  61.         <layout type="log4net.Layout.PatternLayout">
  62.           <conversionPattern value="%message"/>
  63.         </layout>
  64.       </parameter>
  65.     </appender>
  66.     <!--写入到文件-->
  67.     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  68.       <!--<file value="log/log.txt"/>-->
  69.       <!--<file name="Client.Logging" value="log/log" />-->
  70.       <file value="log/log" />
  71.       <!--是否覆盖-->
  72.       <appendToFile value="true"/>
  73.       <!--设置无限备份=-1 ,最大备份数为1000-->
  74.       <maxSizeRollBackups value="1000"/>
  75.       <!--每个文件的最大20k-->
  76.       <maximumFileSize value="20"/>
  77.       <!--名称是否可以更改 为false为可以更改-->
  78.       <param name="StaticLogFileName" value="false" />
  79.       <!--文件名称-->
  80.       <param name="DatePattern" value="yyyyMMdd".txt"" />
  81.       <param name="RollingStyle" value="Composite" />
  82.       <!--<param name="RollingStyle" value="Composite" />-->
  83.       <layout type="log4net.Layout.PatternLayout">
  84.         <param name="ConversionPattern" value="%d [%r] [%t] %-5p %c  - %m%n%n" />
  85.       </layout>
  86.     </appender>
  87.     <!--写入到操作系统-->
  88.     <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
  89.       <layout type="log4net.Layout.PatternLayout">
  90.         <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
  91.       </layout>
  92.     </appender>
  93.     <!--写入到access-->
  94.     <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
  95.       <bufferSize value="1" />
  96.       <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D://工作目录//代码//Demo//LogDemo//db//access.mdb;User Id=;Password=;" />
  97.       <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
  98.       <parameter>
  99.         <parameterName value="@log_date" />
  100.         <dbType value="String" />
  101.         <size value="255" />
  102.         <layout type="log4net.Layout.PatternLayout">
  103.           <conversionPattern value="%date" />
  104.         </layout>
  105.       </parameter>
  106.       <parameter>
  107.         <parameterName value="@thread" />
  108.         <dbType value="String" />
  109.         <size value="255" />
  110.         <layout type="log4net.Layout.PatternLayout">
  111.           <conversionPattern value="%thread" />
  112.         </layout>
  113.       </parameter>
  114.       <parameter>
  115.         <parameterName value="@log_level" />
  116.         <dbType value="String" />
  117.         <size value="50" />
  118.         <layout type="log4net.Layout.PatternLayout">
  119.           <conversionPattern value="%level" />
  120.         </layout>
  121.       </parameter>
  122.       <parameter>
  123.         <parameterName value="@logger" />
  124.         <dbType value="String" />
  125.         <size value="255" />
  126.         <layout type="log4net.Layout.PatternLayout">
  127.           <conversionPattern value="%logger" />
  128.         </layout>
  129.       </parameter>
  130.       <parameter>
  131.         <parameterName value="@message" />
  132.         <dbType value="String" />
  133.         <size value="1024" />
  134.         <layout type="log4net.Layout.PatternLayout">
  135.           <conversionPattern value="%message" />
  136.         </layout>
  137.       </parameter>
  138.     </appender>
  139.     <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
  140.       <mapping>
  141.         <level value="ALL" />
  142.         <foreColor value="White" />
  143.         <backColor value="Red, HighIntensity" />
  144.       </mapping>
  145.       <layout type="log4net.Layout.PatternLayout">
  146.         <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  147.       </layout>
  148.     </appender>
  149.     <!--写入到文件,是累加,不生成新的文件-->
  150.     <appender name="FileAppender" type="log4net.Appender.FileAppender">
  151.       <file value="log/log-file.txt" />
  152.       <appendToFile value="true" />
  153.       <layout type="log4net.Layout.PatternLayout">
  154.         <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  155.       </layout>
  156.     </appender>
  157.     <!-- Setup the root category, add the appenders and set the default level -->
  158.     <root>
  159.       <level value="ALL"/>
  160.       <appender-ref ref="ADONetAppender_SqlServer"/>
  161.       <appender-ref ref="RollingLogFileAppender"/>
  162.       <appender-ref ref="EventLogAppender"></appender-ref>
  163.       <appender-ref ref="AdoNetAppender_Access"></appender-ref>
  164.       <appender-ref ref="ColoredConsoleAppender"></appender-ref>
  165.       <appender-ref ref="FileAppender"></appender-ref>
  166.     </root>
  167.     <!-- Specify the level for some specific categories -->
  168.     <logger name="ConsoleApp.LoggingExample">
  169.       <!-- <appender-ref ref="B" /> -->
  170.       <level value="ALL"/>
  171.       <appender-ref ref="ADONetAppender_SqlServer"/>
  172.       <appender-ref ref="RollingLogFileAppender"/>
  173.     </logger>
  174.   </log4net>
  175. </configuration>

log4net ConsoleLogDemo

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using log4net.Core;
  5. namespace ConsoleLogDemo
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             logTest();
  12.             logFileTest();
  13.         }
  14.         private static void logTest()
  15.         {
  16.             log4net.ILog log = log4net.LogManager.GetLogger("ConsoleApp.LoggingExample");
  17.             log.Info("hello world!");
  18.         }
  19.         private static void logFileTest()
  20.         {
  21.             log4net.ILog log = log4net.LogManager.GetLogger("LoggingExample");
  22.             log.Info("hello world!");
  23.         }
  24.     }
  25. }

log4net WebDemo

 

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.WebControls;
  8. using System.Web.UI.WebControls.WebParts;
  9. using System.Web.UI.HtmlControls;
  10. public partial class _Default : System.Web.UI.Page 
  11. {
  12.     protected void Page_Load(object sender, EventArgs e)
  13.     {
  14.     }
  15.     protected void Button1_Click(object sender, EventArgs e)
  16.     {
  17.         log4net.ILog log = log4net.LogManager.GetLogger("testApp.Logging");
  18.         log.Info("hello world!");
  19.     }
  20.     protected void Button2_Click(object sender, EventArgs e)
  21.     {
  22.         log4net.ILog log = log4net.LogManager.GetLogger("edtest");
  23.         log.Debug("hello world!");
  24.     }
  25. }

 

log4net WindowsLogDemo

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using System.Diagnostics;
  9. namespace WindowsLogDemo
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.         }
  17.         private void button1_Click(object sender, EventArgs e)
  18.         {
  19.             log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  20.             log.Error("error"new Exception("发生了一个异常"));
  21.             //记录严重错误
  22.             log.Fatal("fatal"new Exception("发生了一个致命错误"));
  23.             //记录一般信息
  24.             log.Info("hellow world!");
  25.             //记录调试信息
  26.             log.Debug("debug");
  27.             //记录警告信息
  28.             log.Warn("warn");
  29.         }
  30.         private void button2_Click(object sender, EventArgs e)
  31.         {
  32.             ProcessStart(string.Format("{0}//log//log-file.txt", Application.StartupPath));
  33.         }
  34.         public static bool ProcessStart(string filePath)
  35.         {
  36.             ProcessStartInfo info = new ProcessStartInfo(filePath);
  37.             info.CreateNoWindow = false;
  38.             info.ErrorDialog = true;
  39.             info.UseShellExecute = true;
  40.             try
  41.             {
  42.                 Process.Start(info);
  43.                 return true;
  44.             }
  45.             catch
  46.             {
  47.                 return false;
  48.             }
  49.         }
  50.     }
  51. }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值