yl
2022-11-11 1b7d474add778ac342486beccc63081e9e29f504
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?xml version="1.0" encoding="utf-8"?>  
<configuration>  
  
  <configSections>  
    <!--配置一个结点 名称为log4net-->  
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />  
  </configSections>  
  
  <log4net>  
    <!--写入到文件-->  
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">  
        
      <!--文件路径,如果RollingStyle为Composite或Date,则这里设置为目录,文件名在DatePattern里设置,其他则这里要有文件名。已经扩展支持虚拟目录-->    
      <param name="File" value="Logs\" /><!--将日记写入到跟目录下面的Logs文件夹下面的yyyy-MM-dd.TXT文件中-->       
  
      <param name="AppendToFile" value="true" />  
  
      <param name="MaxSizeRollBackups" value="100" />  
  
      <param name="MaximumFileSize" value="10240KB" />  
  
      <param name="StaticLogFileName" value="false" />  
  
      <param name="RollingStyle" value="Date" />  
           
      <param name="DatePattern" value="yyyy-MM-dd.TXT" /> <!--TXT后缀必须是大写的,否则有问题-->  
        
      <param name="CountDirection" value="-1" />  
        
  
      <!--log4net记录错误的格式(即:用什么样的格式(布局)来记录错误)-->  
  
      <layout type="log4net.Layout.PatternLayout">  
        <param name="ConversionPattern" value=" 【时间】:%d%n 【级别】:%p%n 【类名】:%c%n 【线程ID】: %thread %n 【文件地址】:%F 第%L行%n 【日志内容】:%m%n 【日记详细】:%exception %n---------------------------------------------------------------------------------------------------------------%n" />  
      </layout>  
    </appender>  
  
    <!--将日记写入数据库-->  
    <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
      <bufferSize value="-1" />
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      <connectionString value="data source=.;initial catalog=vmes;persist security info=True;user id=sa;password=123456;MultipleActiveResultSets=True;" />
      <commandText value="INSERT INTO T_Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
      <parameter>
        <parameterName value="@log_date"  />
        <dbType value="DateTime" />
        <layout type="log4net.Layout.RawTimeStampLayout" />
      </parameter>
      <parameter>
        <parameterName value="@thread" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%thread" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@log_level" />
        <dbType value="String" />
        <size value="50" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@logger" />
        <dbType value="String" />
        <size value="255" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%logger" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@message" />
        <dbType value="String" />
        <size value="4000" />
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message" />
        </layout>
      </parameter>
      <parameter>
        <parameterName value="@exception" />
        <dbType value="String" />
        <size value="2000" />
        <layout type="log4net.Layout.ExceptionLayout" />
      </parameter>
    </appender>  
  
    <!--在出现什么级别的错误才记录错误 【注意:如果有多个appender-ref的时候,应该给他们放到同一个root节点下】-->  
    <root>  
      <level value="ALL" />    
      <appender-ref ref="LogFileAppender"/> 
      <appender-ref ref="AdoNetAppender" />
      <appender-ref ref="ADONetAppender_SqlServer"/>  
    </root>  
  
  </log4net>  
</configuration>