首页 新闻 会员 周边 捐助

asp.net写日志问题

0
悬赏园豆:50 [已解决问题] 解决于 2016-05-31 16:51

日志用json保存,每次访问页面就会在当前年 月 目录下生成一个天数.log文件。json按照追加方式添加进去。

 

写入格式是序列化LogModel对象,一行一个对象,追加时以行追加。

读取时读取当天全部行,通过string.join用,连接,在开头和结尾添加[]组成json数组,然后序列化为list对象。

 

问题:

1 当多个浏览器同时访问时候肯定会在同一时间进行追加操作,这样会不会冲突。

2 如果冲突我现在采用的是lock锁写入操作,有没有更好的办法。

 

请各路大神为小弟解雇!不胜感激!

梦里的畅泳的主页 梦里的畅泳 | 初学一级 | 园豆:159
提问于:2016-05-31 15:01
< >
分享
最佳答案
0

量小的话,lock就行。没必要搞那么到事情。

确认io性能不会是瓶颈,从你的描述来说也不会是。日志加[]序列化,量一定不大。不要想多了。

量比较大的话,中间加个queue,批量写

收获园豆:25
czd890 | 专家六级 |园豆:14488 | 2016-05-31 15:23
其他回答(3)
0

可以通过队列来防止并发,比如微软自带的Queen

收获园豆:25
CodeHsu | 园豆:5668 (大侠五级) | 2016-05-31 15:29
0

用队列实现,这个比较保险。写日志很容易出现并发现象

付威的网络博客 | 园豆:195 (初学一级) | 2016-06-02 10:06
0

按照你的读取方式,估计你每天的量不会很大(每天文件10M一下,写入的时候加lock是最简单的办法。

yahle | 园豆:158 (初学一级) | 2016-06-02 13:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册