Log4net的官方网站为:
在app.config中添加如下配置:
<configSections>节点中添加
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.2"/>
然后添加<log4net>结点
<log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type=" log4net.Appender.RollingFileAppender">
<!--读取环境变量中设定的值-->
<file value="${TMP}/Syscom/ChinaHis_Log.txt" />
<!—是否续写-->
<appendToFile value="true" />
<!—保留的log文件数量-->
<maxSizeRollBackups value="10" />
<!—每个log文件的大小-->
<maximumFileSize value="1MB" />
<rollingStyle value="Size" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Header]
" />
<footer value="[Footer]
" />
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="syscom/log/log-file.txt" />
<!-- Example using environment variables in params -->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<!-- <file value="${TMP}/log-file.txt" /> -->
<appendToFile value="true" />
<!-- An alternate output encoding can be specified -->
<!-- <encoding value="unicodeFFFE" /> -->
<layout type="log4net.Layout.PatternLayout">
<header value="[Header]
" />
<footer value="[Footer]
" />
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
<!-- Alternate layout using XML
<layout type="log4net.Layout.XMLLayout" /> -->
</appender>
<appender name="ConsoleAppender" type=" log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="INFO" />
<!--<appender-ref ref="LogFileAppender" />-->
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
<!-- <appender-ref ref="ADONetAppender_SqlServer" /> -->
<!--<appender-ref ref="NetSendAppender" />-->
<!-- <appender-ref ref="A" /> -->
</root>
<!-- Specify the level for some specific categories -->
<!--
<logger name="Test.SimpleClass">
<level value="ERROR" />
<appender-ref ref="RollingLogFileAppender" />
</logger>
-->
</log4net>
App.config配置完成后,并不能记录log,还需要在My Project下的AssemblyInfo.vb文件中添加
<Assembly: log4net.Config.xmlConfigurator()>
到此,log4net配置完毕。
下面介绍如何将log写入到数据库中,本例以mysql数据库为例:
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="2" />
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<connectionString value="User Id=root;Host=127.0.0.1;Database=c80af;port=3306;charset=utf8" />
<commandText value="INSERT INTO sys_log(sl_datetime,sl_level,sl_logger,sl_messages) VALUES (?log_date, ?log_level, ?logger, ?message )" />
<parameter>
<parameterName value="?log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</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>
然后在<root>节点下添加:<appender-ref ref="AdoNetAppender" />
http://hi.baidu.com/ccit321123/blog/item/d15dfc7b075250e42f73b353.html