zoukankan      html  css  js  c++  java
  • log4net

      1 配置文件   app.config
      2 
      3 <?xml version="1.0" encoding="utf-8" ?>
      4 <configuration>
      5 
      6 <!-- Register a section handler for the log4net section -->
      7 <configSections>
      8 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      9 </configSections>
     10 <log4net>
     11 <!-- Define some output appenders -->
     12 
     13 <!--定义输出到文件中-->/////////////////////////////////////////////////////////
     14 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
     15 <!--定义文件存放位置-->
     16 <file value="log\"/>
     17 <appendToFile value="true"/>
     18 <rollingStyle value="Date"/>
     19 <datePattern value="yyyyMM\yyyyMMdd'.txt'"/>
     20 <staticLogFileName value="false"/>
     21 <param name="MaxSizeRollBackups" value="100"/>
     22 <layout type="log4net.Layout.PatternLayout">
     23 <!--<conversionPattern value="%date [%thread] %-5level %logger [%ndc] &lt;%property{auth}&gt; : %newline%message%newline%newline" />-->
     24 <conversionPattern value="==== %date [%thread] %-5level ==== : %newline%message%newline%newline" />
     25 </layout>
     26 </appender>
     27 
     28 <!--Sql server Appender -->//////////////////////////////////////////////////////////////////////////////////////////
     29 <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.ADONetAppender">
     30 <!--bufferSize 为缓冲区大小,只有日志记录超设定值才会一块写入到数据库 -->
     31 <!-- 注意bufferSize 参数在测试环境建议设置为 0 ,在生产环境建议设置为100 -->
     32 <bufferSize value="0" />
     33 <!--访问数据库驱动的引用-->
     34 <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
     35 <!--数据库连接字符串-->
     36 <connectionString value="server=.;database=Log4Net;uid=sa;password=123.com;"/>
     37 <!--数据库执行的Sql语句-->
     38 <commandText value="INSERT INTO Log4Net ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
     39 <!-- 日志记录时间,RawTimeStampLayout为默认的时间输出格式 -->
     40 <parameter>
     41 <parameterName value="@log_date" />
     42 <dbType value="DateTime" />
     43 <layout type="log4net.Layout.RawTimeStampLayout" />
     44 </parameter>
     45 <!--线程号-->
     46 <parameter>
     47 <parameterName value="@thread" />
     48 <dbType value="String" />
     49 <size value="255" />
     50 <layout type="log4net.Layout.PatternLayout">
     51 <conversionPattern value="%thread" />
     52 </layout>
     53 </parameter>
     54 <!--日志等级 级别从低到高分别是:debug(调试),info(信息),warn(警告),error(错误),fatal(致命错误)-->
     55 <parameter>
     56 <parameterName value="@log_level" />
     57 <dbType value="String" />
     58 <size value="50" />
     59 <layout type="log4net.Layout.PatternLayout">
     60 <conversionPattern value="%level" />
     61 </layout>
     62 </parameter>
     63 <!--产生日志的类-->
     64 <parameter>
     65 <parameterName value="@logger" />
     66 <dbType value="String" />
     67 <size value="255" />
     68 <layout type="log4net.Layout.PatternLayout">
     69 <conversionPattern value="%logger" />
     70 </layout>
     71 </parameter>
     72 <!---->
     73 <parameter>
     74 <parameterName value="@message" />
     75 <dbType value="String" />
     76 <size value="4000" />
     77 <layout type="log4net.Layout.PatternLayout">
     78 <conversionPattern value="%message" />
     79 </layout>
     80 </parameter>
     81 <parameter>
     82 <parameterName value="@exception" />
     83 <dbType value="String" />
     84 <size value="2000" />
     85 <layout type="log4net.Layout.ExceptionLayout" />
     86 </parameter>
     87 </appender>
     88 
     89 <!-- Setup the root category, add the appenders and set the default level -->
     90 <root>
     91 <level value="ALL" />
     92 <appender-ref ref="RollingLogFileAppender" />
     93 <appender-ref ref="AdoNetAppender_SqlServer" />
     94 </root>
     95 
     96 </log4net>
     97 </configuration>
     98 
     99  
    100 
    101  
    102 
    103  
    104 
    105 /////////////////////////////////////////////////////////////////////////////////////////
    106 
    107 form1 的代码
    108 
    109 using log4net;
    110 using System;
    111 using System.Collections.Generic;
    112 using System.Linq;
    113 using System.Text;
    114 using System.Threading.Tasks;
    115 
    116 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Content/Config/Log4Net.config", Watch = true)]//////////////ConfigFile = "Content/Config/Log4Net.config" 意思是配置文件的目录
    117 namespace Com.No1.Log4Net.SqlServer
    118 {
    119 class Program
    120 {
    121 protected static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
    122 static void Main(string[] args)
    123 {
    124 for (int i = 0; i < 101; i++)
    125 {
    126 logger.Debug("Test" + i);
    127 }
    128 }
    129 }
    130 }
    131 
    132  
    133 
    134 //////////////////////////////////////////////创建数据库表
    135 CREATE TABLE [dbo].[Log4Net](
    136 [Id] [bigint] IDENTITY(1,1) NOT NULL,
    137 [Date] [datetime2](7) NULL,
    138 [Thread] [varchar](255) NULL,
    139 [Level] [varchar](255) NULL,
    140 [Logger] [varchar](255) NULL,
    141 [Message] [varchar](255) NULL,
    142 [Exception] [varchar](255) NULL,
    143 CONSTRAINT [PK_Log4Net] PRIMARY KEY CLUSTERED 
    144 (
    145 [Id] ASC
    146 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    147 ) ON [PRIMARY]
    148 
    149 GO
  • 相关阅读:
    Linux用户组管理及用户权限3
    MySQL预处理和事务
    MySQL-子查询和多表联查
    Mysql-分组和聚合函数
    LNMP搭建
    apache-虚拟主机配置
    Apache-重写
    apache配置文件详解
    vim使用
    php-curl_init函数
  • 原文地址:https://www.cnblogs.com/clarklxr/p/9721144.html
Copyright © 2011-2022 走看看