主要是配置文件
<log4net>
<!--文件日志输出-->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender, log4net">
<param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<param name="File" value="logs/" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value="yyyy-MM-dd.'log'" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Date" />
<!--Size ==- Date-->
<!--每条日志末尾的文字说明-->
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline"/>
<!--<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />-->
</layout>
</appender>
<appender name="AdoNetAppender_PGSQL" type="log4net.Appender.AdoNetAppender, log4net">
<bufferSize value="1" /> --缓存大小,日志达到多少记录然后写入数据库,这里设置为1,是为了看效果
<connectionType value="Npgsql.NpgsqlConnection, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"/>--这个是postgresql需要的客户端的控件。写数据库使用
<connectionString value="Server=localhost;Database=GridGIS;Userid=postgres;Password=postgre;" />
<commandText value="INSERT INTO log_msg (log_date,thread,logger,message,log_level) VALUES (:log_date,:thread,:logger,:message,:log_level)" />
<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="255" />
<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>
</appender>
<root>
<!--设置默认日志器-->
<level value="DEBUG" />
<appender-ref ref="AdoNetAppender_PGSQL" />
</root>
</log4net>
在具体项目的 AssemblyInfo.cs 中(不要在封装的类库中framwork),加入
[assembly: log4net.Config.XmlConfigurator( Watch=true)]
此文件基本可以使用,如果不行就下载源码调试吧。一个个参数验证。