加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Orchard CMS如何进行日志记录?

发布时间:2020-12-15 20:40:22 所属栏目:asp.Net 来源:网络整理
导读:我正在和Orchard CMS合作,对我来说是更好的CMS.我想了解它是如何进行日志记录的,以及是否可以添加自己的日志记录.我看到Orchard使用NullLogger类,它没有工作.我打开了App_Data.Logs文件夹,并看到有日志文件.但是怎么样我在代码中搜索用log4net替换NullLogger
我正在和Orchard CMS合作,对我来说是更好的CMS.我想了解它是如何进行日志记录的,以及是否可以添加自己的日志记录.我看到Orchard使用NullLogger类,它没有工作.我打开了App_Data.Logs文件夹,并看到有日志文件.但是怎么样我在代码中搜索用log4net替换NullLogger的技巧(我猜这是log4net,因为log4net.config的日志格式和格式非常相似),但是我还没有找到.
有人可以回答我:

Orchard如何做日志记录?
>我是否可以添加自己的记录器,如果是,是否有最佳实践呢?

谢谢,安德烈.

解决方法

Autofac模块(Orchard.Logging.LoggerModule要精确)处理.基本上,它扫描每个依赖关系,并使用适当的记录器实例的引用来填充类型为ILogger的所有属性.每个依赖项都拥有自己的名称等于包含类的完整类型名称(包括命名空间)的记录器.

NullLogger只是一个占位符,所以在Autofac设置属性之前,访问该属性将不会抛出NullReferenceExceptions.

扩展默认日志记录是一项相当复杂的任务,因为它将涉及三件事情:

>创建ILoggerFactory的自定义实现(就像默认的Orchard.Logging.CastleLoggerFactory)和
>创建一个在容器中注册该实现的Autofac模块(像上述的LoggerModule)
>通过使用[OrchardSuppressDependency(“Orchard.Logging.LoggingModule”)装饰新的日志模块来抑制当前的默认日志记录模块]

UPDATE

刚才意识到我没有在这里讨论问题的最重要部分:)是的,Orchard使用log4net,以便您可以通过Config / log4net.config文件更改默认设置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读