Logger:主要负责日志的记录,它记录的方式有多种,可以是以文件、数据库、控制台、邮件等多处方式; Appenders:主要负责记录日志介质的方式,它的输出方式主要包括: AdoNetAppender --Log4net Begin--> 7 <log4net> 8 <appender name="<em>ADONetAppender</em>" type="log4net.Appender.<em>ADONetAppender</em> "INFO"/> 61 <level value="DEBUG"/> 62 <level value="FINE"/> 63 <appender-ref ref="<em>ADONetAppender</em> "INFO"/> 69 <level value="DEBUG"/> 70 <level value="FINE"/> 71 <appender-ref ref="<em>ADONetAppender</em> logger> 73 <logger name="StellaLogger"> 74 <level value="ALL"/> 75 <appender-ref ref="<em>AdoNetAppender</em>
Web.config中Log4net的配置 注意其中“ADONetAppender”节点的写法,以及各个字段的打印方法。 对于web站点的web.config文件,需要如下配置,这部分是参考了cgq214 的Blog讲到的写法,同时根据实际效果作了点修正: 配置: <log4net> … <appender name="<em>ADONetAppender</em> " type="log4net.Appender.<em>ADONetAppender</em>"> <bufferSize value="10" /> value="FINE"/> <appender-ref ref="RollingLogFileAppender"/> <appender-ref ref="<em>ADONetAppender</em>
log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <appender name="<em>ADONetAppender</em> " type="log4net.Appender.<em>AdoNetAppender</em>"> <bufferSize value="1" /> <connectionType value= <level value="DEBUG"/> <appender-ref ref="FileErrLogAppender"/> <appender-ref ref="<em>ADONetAppender</em>
log4net.Appender.AdoNetAppender:和SQL SERVER很紧密的结合,便于将重要日志信息记入数据库,便于查找和备份。 thread] %-5level %logger [%ndc] - %message%newline"/> 10 </layout> 11 </appender> 12 <appender name="<em>AdoNetAppender</em> " type="log4net.Appender.<em>AdoNetAppender</em>"> 13 <bufferSize value="100"/> 14 <connectionType value="System.Data.SqlClient.SqlConnection appender> 74 <root> 75 <level value="INFO"/> 76 <appender-ref ref="Log4Net_INFO"/> 77 <appender-ref ref="<em>AdoNetAppender</em>
</layout> </appender> 通过的是163邮箱服务器发送 将日志写入数据库的相关配置,还要建立一张对应的数据库表 <appender name="<em>ADONetAppender</em> " type="log4net.Appender.<em>ADONetAppender</em>"> <! log4net节点中还有两个节点 <logger name="Loggering"> <level value="Warn"/> <appender-ref ref="<em>ADONetAppender</em> --<appender-ref ref="ADONetAppender" />--> <appender-ref ref="SmtpAppender"/> <!
--定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb--> <appender name="<em>AdoNetAppender</em>_Access" type=" log4net.Appender.<em>AdoNetAppender</em>"> <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data -- 如果不启用相应的日志记录,可以通过这种方式注释掉 <appender-ref ref="AdoNetAppender_Access" /> --> </root>
--注意 Mysql.data 引用属性中复制本地一定要选True--> <appender name="<em>AdoNetAppender</em>_MySql" type="log4net.Appender.<em>AdoNetAppender</em> --<appender-ref ref="AdoNetAppender_MySql"/>--> </root> </log4net> </configuration> 这里需要注意的是: 此文件需要始终复制到输出目录
</layout> </appender> EventLogAppender ,输出介质为系统日志 AdoNetAppender ,输出介质为数据库,示例如下 <appender name=" <em>AdoNetAppender</em>_Oracle" type="log4net.Appender.<em>AdoNetAppender</em>"> <connectionType value="System.Data.OracleClient.OracleConnection
</layout> </appender> EventLogAppender ,输出介质为系统日志 AdoNetAppender ,输出介质为数据库,示例如下 <appender name=" <em>AdoNetAppender</em>_Oracle" type="log4net.Appender.<em>AdoNetAppender</em>"> <connectionType value="System.Data.OracleClient.OracleConnection
value="%d [%t] %-5p %c [%x] - %m%n"/> 10 </layout> 11 </appender> 12 13 <appender name="<em>ADONetAppender</em> " type="log4net.Appender.<em>ADONetAppender</em>"> 14 <bufferSize value="10"/> 15 <connectionType parameter> 61 </appender> 62 <root> 63 <level value="DEBUG"/> 64 <appender-ref ref="<em>ADONetAppender</em>
); } } 4、日志配置文件中添加数据库记录器并引用 <appender name="MySqlAdoNetAppender" type="log4net.Appender.<em>AdoNetAppender</em>
在这之前打算用Apache的Log4Net,但是发现其AdoNetAppender方法已经不存在了,无法使用配置文件直接输出到数据库了,因此我便改用了NLog框架。
="OperationAppender"/> </logger> <appender name="ErrorAppender" type="log4net.Appender.<em>ADONetAppender</em>
newline" /> </layout> </appender> <appender name="OperInfoAppender" type="log4net.Appender.<em>AdoNetAppender</em>
属性指定其名称,type则是log4net.Appender命名空间的一个类的名称,意思是,指定使用哪种介质 log4net支持的appender类型有十几种,最常用的有rollingFileAppender,AdoNetAppender