登录 Umbraco 的最佳实践是什么?
What is the best practice for logging in Umbraco?
我注意到至少有两种方法可以在 Umbraco 中写入日志。一种是使用LogHelper
class,另一种是直接使用log4net.LogManager.GetLogger
方法得到的实例的方法。不用说,LogHelper 本身也使用 log4net。
我添加了一个自定义日志附加程序,将附加程序的文件目标设置为自定义文件(与默认文件不同)并尝试了两种方式,并注意到日志中的结果大致相同。 LogHelper 的条目如下所示:
ERROR ProjectName.Controllers.Backoffice.DataController - [P4876/T1/D2] Test
而 log4net 创建的条目如下所示:
ERROR ProjectName.Controllers.Backoffice.DataController - Test
然而,当我搜索有关登录 Umbraco 的帖子时,我经常找到直接使用 log4net 的示例,而不是使用 Umbraco CMS 提供的 LogHelper class。
所以基本上,开发人员应该使用一种方式而不是另一种方式有什么充分的理由,或者仅仅是使用库的方法而不是使用 CMS 提供的帮助程序的偏好问题 class(或者反过来 - 图书馆前的助手)?
LogHelper 的创建可能是为了让开发人员不必担心 Umbraco 中使用了哪个特定的日志提供程序(log4net、Elmah 等)。所以理论上它可能会增加一点开销,但它更容易使用。
我认为没有实际的 "best practice",但我会使用 LogHelper :-)
LogHelper
是一个方便的日志记录包装器 - 日志框架的一部分,其核心是 Umbraco.Core.Logging.ILogger
接口。默认情况下使用 log4net 实现,但还有一个内部 DebugDiagnosticsLogger
class 通过 Debug.WriteLine
.
输出所有内容
一般来说,如果您使用 Umbraco 库进行开发,那么 LogHelper
是正确的选择。
我注意到至少有两种方法可以在 Umbraco 中写入日志。一种是使用LogHelper
class,另一种是直接使用log4net.LogManager.GetLogger
方法得到的实例的方法。不用说,LogHelper 本身也使用 log4net。
我添加了一个自定义日志附加程序,将附加程序的文件目标设置为自定义文件(与默认文件不同)并尝试了两种方式,并注意到日志中的结果大致相同。 LogHelper 的条目如下所示:
ERROR ProjectName.Controllers.Backoffice.DataController - [P4876/T1/D2] Test
而 log4net 创建的条目如下所示:
ERROR ProjectName.Controllers.Backoffice.DataController - Test
然而,当我搜索有关登录 Umbraco 的帖子时,我经常找到直接使用 log4net 的示例,而不是使用 Umbraco CMS 提供的 LogHelper class。
所以基本上,开发人员应该使用一种方式而不是另一种方式有什么充分的理由,或者仅仅是使用库的方法而不是使用 CMS 提供的帮助程序的偏好问题 class(或者反过来 - 图书馆前的助手)?
LogHelper 的创建可能是为了让开发人员不必担心 Umbraco 中使用了哪个特定的日志提供程序(log4net、Elmah 等)。所以理论上它可能会增加一点开销,但它更容易使用。
我认为没有实际的 "best practice",但我会使用 LogHelper :-)
LogHelper
是一个方便的日志记录包装器 - 日志框架的一部分,其核心是 Umbraco.Core.Logging.ILogger
接口。默认情况下使用 log4net 实现,但还有一个内部 DebugDiagnosticsLogger
class 通过 Debug.WriteLine
.
一般来说,如果您使用 Umbraco 库进行开发,那么 LogHelper
是正确的选择。