我正在配置log4net:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "../ProjectName/Log4Net.config", Watch = true)]
Run Code Online (Sandbox Code Playgroud)
我配置了2个appender:1.AdoNetAppender登录到mssql2008数据库上的Log表.2. FileAppender看起来像这样:
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="c:\log-file.txt" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
问题是当记录一个动作时,它会立即出现在log-file.txt中.在我执行iisreset,重新编译Web代码或回收应用程序池之前,它不会显示为数据库中的条目.
配置似乎正确,因为操作最终会记录到数据库中.我只是不明白为什么要拖延.
任何人都可以给我一个理由或告诉我如何解决它?
AdoNetAppender是一个缓冲的appender.如果要将其直接写入数据库,则需要将缓冲区大小设置为1:
<bufferSize value="1" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1264 次 |
| 最近记录: |