Orchard CMS 如何进行日志记录?

2024-03-10

我正在使用 Orchard CMS,它对我来说是更好的 CMS。我想了解它如何进行日志记录以及我是否可以添加自己的日志记录。我看到果园使用NullLogger类,它不起作用。我已打开 App_Data.Logs 文件夹并看到其中有日志文件。但如何呢?我在代码中搜索了替换的技巧在哪里NullLogger与 log4net (我猜这是 log4net,因为日志格式和 log4net.config 的格式非常相似),但我还没有找到这个。 有人可以回答我吗:

  1. Orchard 如何进行伐木?
  2. 我是否可以添加自己的记录器,如果可以,有哪些最佳实践可以做到这一点?

谢谢,安德烈。


Autofac 模块(Orchard.Logging.LoggerModule准确地说)处理这个问题。基本上 - 它扫描每个依赖项并填充类型的所有属性ILogger并引用适当的记录器实例。每个依赖项都有自己的记录器名称等于包含类的完整类型名称(包括命名空间).

The NullLogger只是一个占位符,因此访问该属性不会抛出NullReferenceException在 Autofac 设置属性之前。

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

  • 创建 ILoggerFactory 的自定义实现(就像默认的 Orchard.Logging.CastleLoggerFactory 一样)和
  • 创建 Autofac 模块在容器中注册该实现(如提到的LoggerModule does)
  • 抑制当前默认日志记录模块装饰你的新房[OrchardSuppressDependency("Orchard.Logging.LoggingModule")]

UPDATE

刚刚意识到我没有在这里解决问题最重要的部分:) 是的,Orchard 使用 log4net所以你可以通过更改默认设置配置/log4net.config file.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Orchard CMS 如何进行日志记录? 的相关文章

随机推荐