Orchard Logging】的更多相关文章

与CollectionOrderModule一样,LoggingModule也是一个Autofac模块.它以属性注入的方式给需要日志服务的对象设置Logger.    如果一个类有Orchard.Logging.ILogger型的公共可写实例属性(忽略索引),Autofac容器在解析(Resolve)该类的时 候,将"注入"一个ILogging实现类的实例.Orchard默认会注入一个CastleLogger对象.当然Orchard也允许一个类中有多个 ILogger型属性,也支持将C…
Orchard 刨析:Logging 最近事情比较多,有预研的,有目前正在研发的,都是很需要时间的工作,所以导致这周只写了两篇Orchard系列的文章,这边不能保证后期会很频繁的更新该系列,但我会写完这整个系列,包括后面会把正在研发的东西跟大家一起分享(架构.思想上的分享). 今天我们来看一看Orchard中的Logging Component. 日志在Orchard中的使用 像这样的代码大家在Orchard中肯定经常见到,那么NullLogger.Instance是什么?大量使用依赖注入的Or…
简单工厂模式.抽象工厂模式和适配器模式 依赖倒置原则也叫依赖倒转原则,Dependence Inversion Principle,对抽象进行编程,不要对实现进行编程. A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象. B.抽象不应该依赖于具体,具体应该依赖于抽象. 面相对象设计将就高内聚.低耦合,高内聚指功能相关性很强的紧密的结合在一起,遵守单一职责原则:耦合是指不同模块或不同层次代码的联系程度,耦合性越低,模块独立性越强,耦合性越高,模块独立性越弱,高耦合的软件,往往修改一处…
一.日志模块类图 1.ILogger接口及实现 2.ILoggerFactory接口及实现 3.其他 二.NullLogger类型     NullLogger类型是实现ILogger接口的空类型.它的 IsEnabled 方法总是返回false:Log 方法是个空实现.在代码中要用到日志的地方设计1个 NullLogger属性 作为占位符,在代码运行时将这个对象替换为真正的日志对象.如果不替换,则代码也能编译成功,运行时也不会出错. publicclassNullLogger:ILogger…
试着用markdown写些东西.貌似博客园支持的还有问题,代码片段显示错位,还得另外上传图片.还是用普通方法写写随笔好了. Logging相对也是比较松耦合的模块,可以随时提取出来用在自己的项目中.其实说到底它还是用的log4net.先看一下几个文件. 1.ILogger.俗话说面向接口编程,这个就是Orchard中Logger的接口,提供了2个方法 public interface ILogger { bool IsEnabled(LogLevel level); void Log(LogLe…
最近事情比较多,有预研的,有目前正在研发的,都是很需要时间的工作,所以导致这周只写了两篇Orchard系列的文章,这边不能保证后期会很频繁的更新该系列,但我会写完这整个系列,包括后面会把正在研发的东西跟大家一起分享(架构.思想上的分享). 今天我们来看一看Orchard中的Logging Component. 日志在Orchard中的使用 像这样的代码大家在Orchard中肯定经常见到,那么NullLogger.Instance是什么?大量使用依赖注入的Orchard会把真正的日志记录器放在一个…
Orchard一直是博主心中神一般的存在,由于水平比较菜,Orchard代码又比较复杂看了几次都不了了之了.这次下定决心要搞懂其工作原理,争取可以在自己的项目中有所应用.为了入门先到官网去学习一下相关的基础内容.看到这篇比较不错的入门文章,边学习边翻译一下.希望给有需要的朋友以帮助,也希望和对Orchard感兴趣的朋友一起交流. Orchard如何工作 构建一个Web内容管理系统不同于构建一个常规web应用:前者更像构建一个应用容器.设计一个这样的系统,可扩展性应该放在第一位.这可能是一个挑战因…
研发了Orchard一年左右了,时常遇到瓶颈,总觉得力不从心,其实并不是基础不够,关键还是概念性的东西太多,一会儿这个概念名词,一会那个,关于Orchard的技术文档也的确很少,每次看起来总是焦头烂额. 其实Orchard是一大堆开源项目的集合,他是用了一套体系融合了先进几乎所有先进的开源体系或者工具.如果想好好去探索Orchard,如下的开源项目可以先去了解一下,这样就遇到问题也可以有的放矢. <关于Orchard架构的介绍: http://www.cnblogs.com/xfuture/p/…
我之前的项目中使用了Orchard, 它依据依赖注入的思想而做的模块化让我深深为之着迷,这里开始宣传一下这个架构. 包含的概念非常之多,我现在也不甚了解.Orchard就是自己想控制它改变它的话需要非常对.net非常的了解. Orchard是一个以微软为主导的开源CMS项目,它允许使用者在Asp.Net平台上快速建立网站,并且提供扩展框架能够允许定制人员通过模块和主题 等增加额外的内容,Orchard能够建设出复杂的内容管理系统,它提供了强大的模块化建设模式,通过组件的重用将系统建设成本最小化,…
之前承诺过针对Orchard Framework写一个系列.本应该在昨天写下这篇导航篇,不过昨天比较累偷懒的去玩了两盘单机游戏哈哈.下面进入正题. 写在前面 面向读者 之前和本文一再以Orchard Framework为Title,其实只是因为本人没有用Orchard开发过实际的东西,只是研究了它Fraemwork层面的东西和极少部分的Module,Framework中也有一些没有研究或极少的研究,比如:Content,Display,Indexing,Messaging等,如果大家想了解这方面…