找回密码
 注册
搜索
热搜: 回贴
微赢网络技术论坛 门户 数据库 MSSQL 查看内容

log4net和SQL Server 2000

2009-12-26 01:38| 发布者: admin| 查看: 153| 评论: 0|原作者: 琴姬

log4net是在项目中很常用的一个日志工具,用来记录系统的各种信息和一些异常情况. log4net可以把信息以各种方式输出.关于log4net的介绍和使用,官方网站上有详细的说明.
今天在使用log4net的时候遇到几个问题,想和大家讨论一下. 以log4net官网上的那个例子为例:
配置文件如下:
1
2
3
4
5
6
7
8
9
10

11
12
13
14
15
16
17

18

19
20
21
22
23
24
25

26

27
28
29
30
31
32
33

34

35
36
37
38
39
40
41

42

43
44
45
46
47
48

49

50
对于其中的是指当log信息达到100条时, log信息就会被写到数据库中,但是当我设置value=2时,我发现当有两条log信息时,信息并没有被写到数据库中,要到第三条log信息产生时,前两条log信息才被写到数据中,继续有新的log信息生成时也是同样的情况。那我就觉得log4net实现buffersize的机制是当有一条新的log信息产生时,系统会检查已存在的信息是否达到buffersize了,如果到了,那就把已经存在的Log信息写到数据中,而最新的那条log信息并没有被写到数据库中。
log4net通常也被用来记录系统的各种异常信息,也非常方便。但是不知道log4net本生有异常时,似乎并没有任何异常信息被记录下来(也可能是我不知道)。以上面的配置信息为例,“@message"的长度被设置为4000,但是如果数据库中字段的长度没有4000,比如250。这种设置情况很少,但是确实是一个问题。而这个时候,buffersize value值不是0,而是比如100。那么当第101条log信息产生时,系统就会开始把log信息写到数据中。而其中第一条的message信息的长度超过250,这个时候就会发生异常,从这个时候开始,所有的log信息就都不会被写到数据中了。也不会有任何异常信息抛出来。不知道是我的认识不够深入呢,还是这个真的是个问题。

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 13:24 , Processed in 0.122880 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部