- 浏览: 704529 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1081)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (0)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (0)
- [网站分类]4.其他技术区 (0)
- [网站分类]5.企业信息化 (0)
- [网站分类]6.读书心得区(技术书籍阅读心得、书籍推荐) (0)
- [网站分类]7.提问区(.NET技术方面的提问) (2)
- [网站分类]8.技术转载区(.NET技术文章转载, 请注明原文出处) (0)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [网站分类]Dottext区 (0)
- [网站分类]GIS技术 (0)
- [网站分类]IT英才专区(IT职场交流) (0)
- [网站分类]SharePoint (0)
- [网站分类]博客园.NET俱乐部(俱乐部组织与活动方面的文章) (0)
- [网站分类]软件发布区(发布自己开发的代码、软件) (0)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (0)
- [网站分类]业界新闻 (1)
- 技术 (1)
- [随笔分类]生活感悟 (10)
- [随笔分类]C# (30)
- [随笔分类]AjaxPro教程 (3)
- [发布至博客园首页] (5)
- [随笔分类]简历 (0)
- [随笔分类]Linux (2)
- [随笔分类]技术聚会 (2)
- [随笔分类]ORM (1)
- [随笔分类]php (1)
- [随笔分类]创业 (1)
- [随笔分类]奇技淫巧 (1)
- [随笔分类]计划 (1)
- [随笔分类]架构&分层 (1)
- [随笔分类]整合行销 (1)
- [随笔分类]mac (1)
- [网站分类].NET新手区 (45)
- [网站分类]非技术区 (5)
- [网站分类]招聘区 (0)
- [随笔分类]单元测试 (1)
- [网站分类]其他技术区 (3)
- [网站分类]代码与软件发布 (6)
- [网站分类]提问区 (24)
- [随笔分类]ASP.NET (2)
- [随笔分类]FAQ (12)
- [随笔分类]开发人员工具 (1)
- [随笔分类]朗志轻量级项目管理解决方案 (1)
- [网站分类]读书区 (1)
最新评论
-
天使建站:
写和乱七八糟的 不知道从哪复制过来的 还是看这里吧j ...
jquery数组 -
hyn450:
你好,我最近也想了解一下竞争情报。不知道能不能交流一下呢 ?
最近的工作 -
lattimore:
这个连接打不开了阿!
使用vnc连ubuntu desktop -
MZhangShao:
奉劝你一句,以后在Ubuntu 用apt-get安装成功的软件 ...
关于xrdp的安装设置 -
f002489:
strftime
python下datetime类型的转换
最近在写一个分布式缓存的框架性基础性组件,和以往做个网站,写个程序不同的是,如果写得不好,可能对全局都会有影响,因此在写这种程序代码时,你会有一种压力。
比如:万一在生产环境用这个组件出了问题怎么办?是否能够迅速定位到错误的地方,找出原因修正?
原先我写程序都是象征性的用一下log4net,common-logging之类的输出日志:
private static ILog logger = LogManager.GetLogger(typeof (LocalcacheBackend));
logger.Info(m=>m("由于没有收到任何set消息,因此这里不触发CacheItemSetedReceived事件"));
可是在生产环境这种海量利复杂的环境下,你就会担心一个是日志量巨大,出了问题不好排查,一般都只记录到Error级别,记录到这个级别的日志,是否足以让你找到错误,多久你能分析出错误,并修复它。
我思考的问题是log4net之类只的日志记录组件,提供给我们了记录日志的方案,仅是一个工具,但是具体在实际中如何设计一个有层次能够及时在复杂生产环境中,快速找到问题,还需要一定的方法和理论的知识,这些知识一般的书本上都没有告诉你,需要你在实际中去摸索和总结。
另外我也发现,log4net等提供的记录RollingLogFileAppender并不是非常实现,一般只用来做为事后备查的手段,在开发的过程中使用UdpAppender更为实时有效,这里有篇文章大家可以参考
CodeProject: A log4net Realtime Color Console for ASP.NET. Free source code and programming help
但在实际生产环境中我还没有找到一个比较好的组合方案,但是下面几个appender是我觉得在生产环境中值得应用推荐的
Product env:
RollingFileAppender
SmtpAppender/SmtpPickupDirAppender
TraceAppender
EventLogAppender
Dev env:
EventLogAppender
RollingFileAppender
UdpAppender
OutputDebugStringAppender
ColoredConsoleAppender
具体还是得根据实际的场景去量体裁衣,熟读log4net的配置文档,
Apache log4net - Apache log4net: Config Examples
另外一个发现是log4net已经对.net内建的System.Diagnostiscs命名空间下的Debug和Trace功能提供了支持,原先我还在想如何整合这一块的内容进去呢
System.Diagnostics命名空间里的Debug类和Trace类的用途 - 破浪 - 博客园
浅谈C#中的Trace和Debug类【转】 - 从绝望中寻找希望,人生终将辉煌! - 博客园
在做日志分析时需要有好的图形界面工具,特别是对于多线程程序就更加依赖这种工具如:
logParser
TraceTool 8: The Swiss-Army knife of trace - The Code Project - C# Programming
我在此也只是罗列一下,我并没有找到特别合适的工具,由于工作任务繁重,也就先告一段落,以后有机会再捡起来继续深究一下。在此小记一下,以便回忆。
发表评论
-
请教一个winform程序设计上的问题
2007-07-12 02:22 675想要做一个功能,点击按钮出现一个键菜单,如下图所示:而在我的程 ... -
模拟提交程序相关专题
2007-11-29 18:53 935目录 模拟提交程序相关专题 1 目录 ... -
如何使用树形控件
2007-11-29 18:58 1326目录 如何使用树形控件 1 目录 2 ... -
XML文档数据操作心得
2007-11-29 19:00 746目录 XML文档数据操作心得 1 修订历史纪录 ... -
自制线程池3续
2008-08-13 13:59 626晚上睡觉前想到一些问题,发现有几种情形没有进行测试,遂记录下来 ... -
刚才是不是访问出问题了
2008-08-14 20:08 610Invalid URL The requested URL & ... -
Mock介绍
2008-08-17 19:48 1023在园子里搜索了一下, ... -
单元测试介绍
2008-08-18 07:25 706希望能不落熟套,在这里记录单元测试使用中的一些技巧 1.刚从英 ... -
最近几天的工作总结
2008-08-21 16:29 636缓存真的很重要,这几天在做信息采集的过程中,需要动态的生成程序 ... -
BDB使用总结
2008-08-24 12:26 700当对数据库设置了DbFlags.Dup后,允许重复的键值, 当 ... -
截图留念
2008-08-28 20:57 354... -
分布式信息采集程序Preview2
2008-08-29 17:17 581http://files.cnblogs.com/lexus/ ... -
boo & python笔记
2008-08-30 21:22 563在这里记录一下,自己的复习所得,有大概一个月没有碰这些东西了, ... -
log4net udp组件的应用
2008-08-30 23:57 732由于输出的调试信息非常之多,加上早前有一些用的是Console ... -
检测你的机子上装了什么版本的.net framework
2009-12-09 09:20 675这个想法由来已久,今天又碰上有人问我这个问题,使出吃奶的劲尔狠 ... -
最近几天的工作总结
2008-08-21 16:29 750缓存真的很重要,这几天在做信息采集的过程中,需要动态的生成程序 ... -
BDBViewer
2008-08-23 10:37 569因为项目中用了BDB,可是BDB不像sqlite有众多的数据库 ... -
扩展方法应用
2008-08-23 16:26 685using System; using System.Coll ... -
BDB使用总结
2008-08-24 12:26 721当对数据库设置了DbFlags.Dup后,允许重复的键值, 当 ... -
目前来说比较.net下最好的bdb操作封装(附单元测试)
2008-08-24 15:41 7161using System; 2using Syste ...
相关推荐
C++编写的写日志操作程序源代码,C++编写的写日志操作程序源代码
小程序名称为心邮,这是一款发布日志和心情的小程序。用来倾诉烦恼、分享快乐。 使用步骤: 第一步:创建项目,记得填入你自己的AppId(必须填入AppId,不然无法调用wx.login())。 第二步:下载该demo。 第三步:在...
程序设计大赛培训日志程序设计大赛培训日志程序设计大赛培训日志
毕业设计--基于微信小程序的在线免费小说的开发,该项目借助微信小程序的便捷特性,为用户提供快速,并且舒适的阅读体验。负责项目的原型设计,和小程序代码的开发。实现了书城,我的书单,以及在线阅读器功能,目前...
基于微信小程序的日志系统的设计与应用.pdf
Python 程序设计-系统登录页面设计-thinkter http://t.csdn.cn/Oy3QF 1、需求分析 系统要有管理员登录、普通用户登录和退出三个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user...
某些应用程序的操作可能会读写Windows事件日志,本例通过创建消息DLL实现了应用程序中写事件日志的功能。
易语言程序设计日志管理器源码,程序设计日志管理器,文件检查子程序,程序修改信息添加子程序,修改内容置数据子程序,程序名称表格置表头子程序,程序名称表格置数据子程序,添加程序名称子程序,程序名称删除子程序
SQL Server 2008高级程序设计 2/6 SQL Server 2008 2010 高级程序设计 作者:(美)维埃拉 著,杨华,腾灵灵 译 出版社:清华大学 出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 ----------------...
毕业设计--基于微信小程序的在线免费小说应用 毕业设计--基于微信小程序的在线免费小说的开发,该项目借助微信小程序的便捷特性,为用户提供快速,并且舒适的阅读体验。负责项目的原型设计,和小程序代码的开发。...
日志记录在程序设计开发过程中,是非常重要的,可以供调试和记录数据,虽然说有开源的强大日志管理系统,比如apache的Log4Net,功能可谓强悍,但是有时候,不需要这么大的日志,只需要显示和文件记录就可以了,没...
计算机软件-编程源码-工作日志小程序含源码.zip
Delphi应用程序日志写入系统日志,其中还包含普通的应用程序如何把日志写入系统日志。
基于小程序的实验室教学日志系统的设计.pdf
MFC Windows 程序设计之写日志文件,适合初学MFC的小伙伴学习研究,博客中有对应的讲解和演示,避免走弯路,费时费力。也真心希望能够帮助正在苦学MFC Windows 程序设计的小伙伴们,你们的成长是我最大的幸福。
C#显示应用程序事件日志
comlog101.zip 一个用perl写的偷偷记录cmd.exe的程序,不会在进程列表中显示,因为入侵者运行的的确是cmd.exe :) Kiwi_Syslog_Daemon_7 一个很专业的日志服务器软件 norton antivirus enterprise client 我最喜欢...
易语言源码易语言程序设计日志管理器.rar 易语言源码易语言程序设计日志管理器.rar 易语言源码易语言程序设计日志管理器.rar 易语言源码易语言程序设计日志管理器.rar 易语言源码易语言程序设计日志管理器.rar ...
Windows环境下32位汇编语言程序设计 第2版(罗文斌) 完整光盘内容,包含每章内容的完整代码 本光盘所包含目录的说明 根目录下的 *.pdf ;附录A、B、C的电子版文档 Chapter02\Test ;测试编译环境 Chapter03\Hello...
vc++日志程序代码vc++日志程序代码vc++日志程序代码vc++日志程序代码vc++日志程序代码