路过的大牛帮看看,log4net记录数据库日志,第一次记录耗时长
开发用到了log4net日志框架,但是发现一个问题,记录数据库日志时第一次记录耗时长,大概有7-8秒左右,有时甚至超过10秒,之后再次记录数据库日志就是正常的了。
在网上找到一个解决方法,配置文件中添加
<filter type="log4net.Filter.LoggerMatchFilter">
  <LoggerToMatch value="NHibernate" />
  <AcceptOnMatch value="False" />
</filter>
但是测试之后,发现没有效果。
有谁遇到过这种情况吗,帮忙看下。
------解决方案--------------------
这是我的配置
<log4net debug="false">
		<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
			<param name="File" value="log.txt"/>
			<param name="AppendToFile" value="true"/>
			<param name="RollingStyle" value="Size"/>
			<param name="DatePattern" value="yyyy.MM.dd"/>
			<param name="StaticLogFileName" value="true"/>
			<param name="maximumFileSize" value="10000KB"/>
			<param name="maxSizeRollBackups" value="1"/>
			<param name="staticLogFileName" value="true"/>
			<layout type="log4net.Layout.PatternLayout,log4net">
				<header value="[Header]"/>
				<footer value="[Footer]"/>
				<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline"/>
			</layout>
		</appender>
		<root>
			<priority value="DEBUG"/>
			<appender-ref ref="rollingFile"/>
		</root>
		<logger name="NHibernate">
			<level value="ERROR"/>
		</logger>
		<logger name="NHibernate.SQL">
			<level value="DEBUG"/>
		</logger>
	</log4net>
------解决方案--------------------
我大部分都是通过rolling log file的方式记录。
filter只是过滤哪些assambly不用记录,解决不了你的记录到db延时的问题。
我平时用rolling log file的时候也发现有记录有延时。