<?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>
|