Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 日志应用程序块-优先级、类别值_Logging_Enterprise Library - Fatal编程技术网

Logging 日志应用程序块-优先级、类别值

Logging 日志应用程序块-优先级、类别值,logging,enterprise-library,Logging,Enterprise Library,我正在寻找有关使用企业库的日志应用程序块以及应该使用的优先级、类别和严重性值的最佳实践 说到严重性,答案很简单:使用System.Diagnostics.TraceEventType中的一个枚举 但是Priority是一个int,Category是一个字符串数组。因此,我不确定这两个值的最佳实践是什么 以下是我在分类时提出的两个方案: 使用类别的类名 对应用程序以外的不同类型的消息使用预定义的类别(例如:异常、信息等) 1的优点:它允许您在任何给定点精确控制要记录的类。(指定类名和严重性以控制记

我正在寻找有关使用企业库的日志应用程序块以及应该使用的优先级、类别和严重性值的最佳实践

说到严重性,答案很简单:使用System.Diagnostics.TraceEventType中的一个枚举

但是Priority是一个int,Category是一个字符串数组。因此,我不确定这两个值的最佳实践是什么

以下是我在分类时提出的两个方案:

  • 使用类别的类名
  • 对应用程序以外的不同类型的消息使用预定义的类别(例如:异常、信息等)
  • 1的优点:它允许您在任何给定点精确控制要记录的类。(指定类名和严重性以控制记录的内容和记录的位置)

    1的缺点:它可能会变得笨拙,因为您可能有100个类别,并且没有简单的方法来设置配置以捕获应用程序中的所有异常

    2的优点:与1完全相反,因此它可以很容易地指定所有异常消息的去向,也可以很容易地关闭所有不必要信息的日志记录

    2的缺点:它不像(1)那样可配置

    在优先级和类别方面寻找其他想法

    但优先级是int,而类别是 字符串数组。所以我不确定 什么是最佳实践 得出这两个值

    就优先级而言,我建议不要使用优先级,除非您有基于优先级登录的特定要求。如果你不明确地需要优先权,它会让你头疼不已

    以下是我提出的两个方案 当涉及到类别时:

  • 使用类别的类名
  • 对不同类型的邮件使用预定义的类别,除了 从您的应用程序(例如:异常, 信息等)
  • 根据我的经验,以上两种选择是常见的选择但是为什么选择?因为(正如您所提到的)您可以有多个类别,所以没有理由选择其中一个。如果愿意,您可以有多个类别,并且只启用您当时感兴趣的类别

    例如,除了将类名(
    MyCompany.BusinessLogic.Processor
    )添加为类别外,还可以将命名空间或程序集名称添加为类别(
    MyCompany.BusinessLogic

    <>您可以考虑添加的其他类别是功能区或应用层的类别。e、 g.“数据访问”或“用户界面”

    我认为,如果您使用列表中的两种方法,应该涵盖大多数情况。启用“异常”,如果您需要更精细的日志记录,您可以打开特定类的信息或全局启用信息