如果您正在使用 IBM® MQ classes for .NET Framework,那么可以使用应用程序配置文件为 IBM MQ .NET 可再分发受管客户机和独立 IBM MQ .NET 客户机生成跟踪。
关于本任务
生成跟踪的这些步骤适用于 IBM MQ .NET 可再分发受管客户机以及独立 IBM MQ .NET 客户机,并且仅适用于 IBM MQ classes for .NET Framework 。
必须使用应用程序配置文件和特定于 IBM MQ 的跟踪配置文件,因为由于没有完整的 IBM MQ 客户机安装,因此用于启动和停止跟踪的标准工具 strmqtrc 和 endmqtrc不可用。
应用程序配置文件在 IBM MQ classes for .NET (.NET Standard 和 .NET 6 库) 中不受支持。 要对 IBM MQ classes for .NET (.NET Standard 和 .NET 6 库) 启用跟踪,请使用 MQDOTNET_TRACE_ON 环境变量。 值 -1 将启用缺省级别跟踪。 任何其他大于 0 的整数值将启用详细跟踪。 将此环境变量设置为任何其他值都不会启用跟踪。
过程
- 要启动和停止跟踪,请使用应用程序配置文件和特定于 IBM MQ 的跟踪配置文件。
- 应用程序配置文件(app.config 或 web.config)
- 应用程序需要在应用程序配置文件 (即 app.config 或 web.config 文件) 的 <appSettings> 部分下定义 MQTRACECONFIGFILEPATH 属性。 (应用程序配置文件的实际名称取决于您的应用程序名称。) MQTRACECONFIGFILEPATH 属性的值指定特定于 IBM MQ 的跟踪配置文件 mqtrace.config的位置的路径,如以下示例中所示:
<appSettings>
<add key="MQTRACECONFIGFILEPATH" value="C:\MQTRACECONFIG" />
</appSettings>
如果在所指定应用程序配置文件的路径中找不到 mqtrace.config 文件,那么将禁用跟踪。 但是,如果应用程序有权写入当前目录,那么将在应用程序的目录中创建 First Failure Support Technology (FFST) 和错误日志。
- IBM MQ 特定跟踪配置文件(mqtrace.config)
mqtrace.config 文件是一个 XML 文件,其中定义了用于启动和停止跟踪的属性、跟踪文件的路径以及错误日志的路径。 下表描述了这些属性。
表 1. mqtrace.config 文件中定义的属性
| 属性 |
描述 |
| MQTRACELEVEL |
0:停止跟踪(缺省值)。
1:启动包含较少详细信息的跟踪。
2:启动包含完整详细信息的跟踪(推荐)。
|
| MQTRACEPATH |
指向将在其中创建跟踪文件的文件夹。 如果路径为空白或未定义 MQTRACEPATH 属性,那么将使用应用程序的当前目录。 |
| MQERRORPATH |
指向将在其中创建错误日志文件的文件夹。 如果路径为空白或未定义 MQERRORPATH 属性,那么将使用应用程序的当前目录。 |
以下示例显示了样本
mqtrace.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<traceSettings>
<MQTRACELEVEL>2</MQTRACELEVEL>
<MQTRACEPATH>C:\MQTRACEPATH</MQTRACEPATH>
<MQERRORPATH>C:\MQERRORLOGPATH</MQERRORPATH>
</traceSettings>
当应用程序正在运行时,可以通过更改 mqtrace.config 文件中 MQTRACELEVEL 属性的值来动态启动和停止跟踪。
运行的应用程序必须具有 MQTRACELEVEL 属性所指定的文件夹的创建和写许可权,才能生成跟踪文件。 在 Microsoft Azure PaaS 环境中运行的应用程序还必须确保具有类似的访问许可权,因为使用在 Microsoft Azure PaaS 中运行的 IBM MQ .NET 组合件的 Web 应用程序可能没有创建和写许可权。 如果应用程序不具有所指定文件夹的创建和写许可权(必需),那么将无法生成跟踪、首次故障数据捕获 (FDC) 和错误日志。
- 要捕获与 SSLStream 类相关的跟踪事件和消息,请将系统诊断的配置部分添加到应用程序的应用程序配置文件中。