专业化管理 > 站点维护 > 管理 Windchill 日志记录
  
管理 Windchill 日志记录
Windchill 日志消息包含异常追踪和其他可用于排除应用程序行为故障的信息。
可以从安装了 Windchill Directory Server的服务器上使用命令行实用程序来管理 Windchill Directory Server日志文件。
Windchill 9.0 开始,Apache log4j 已被用作管理和发布日志消息的主要机制。已对一些旧的日志记录进行了修改以使用 log4j,但是之前存在的大量 Windchill 日志记录功能依然存在,就像在先前的版本中一样,而且仍由 Windchill 特性文件配置设置进行管理。
在 10.0 版本中,其他原有的 Windchill 日志记录功能已迁移到 log4j。
要管理日志记录,应熟悉以下内容:
影响 wt.properties 文件中的日志记录的特性设置。有关这些特性的信息,请参阅位于 <Windchill>/codebase 目录中的 properties.html 文件以及“出厂设置的 wt.properties 日志文件设置”一节。
关于 log4j 软件包的常规信息。
访问下面的 URL 可获得关于 log4j 的简介:
http://logging.apache.org/log4j/1.2/manual.html
用于 Windchill 日志记录的 log4j 记录器。
关于出厂设置的 Windchill 记录器的描述以及有关哪个 Java 软件包或类被用作在日志文件中生成条目的接口的其他详细信息,请参阅以下文件:
<Windchill>/codebase/loggers.html
可以使用与记录器关联的 MBean 对所记录内容进行临时更改。有关记录器和 MBean 关联的详细信息,请参阅 logger.html 文件。
影响 log4j 日志记录的特性设置。这些特性设置在位于 <Windchill>/codebase/WEB-INF 中的特性文件中:
log4jMethodServer.properties - 控制方法服务器 log4j 日志记录,以及运行于方法服务器上嵌入的 Tomcat servlet 引擎中的 Windchill web 应用程序日志记录。
log4jServerManager.properties - 控制服务器管理器 log4j 日志记录。
此外,如果未指定其他配置文件,<Windchill>/codebase/log4j.properties 文件将用作 log4j 使用的默认配置文件。log4j.properties 文件可用于控制大多数命令行应用程序的日志记录选项。
要对先前列出的 log4j 特性文件进行更改,必须对其进行编辑而不是使用 xconfmanager 实用程序。如果手动更改了这些文件,请确保备份管理自定义中所述的文件。
如何使用 Logging MBean 对日志设置作出临时更改。请参阅使用 MBean 处理日志文件
如何查看或发送 log4j 日志文件。
有多种方法可用于查看或发送 log4j 日志文件。例如:
可以使用 LogsDirViewers MBean 节点来查看日志并通过电子邮件发送日志。
请参阅 使用 MBean 查看和通过电子邮件发送日志文件
可以使用“站点” > “实用程序”中提供的“系统配置收集器”收集日志文件。
请参阅系统配置收集器
可以访问 Log File Viewer 页面以搜索、列出和查看服务器日志文件。此页面的链接可从“系统健康监控工具”页面获取。在“服务器状况”页面上单击“监控工具”链接可以打开此页面。
有关“服务器状况”页面及其链接的详细信息,请参阅关于“服务器状况”页面
有关“服务器状况”页面的详细信息,可从“站点” > “实用程序”访问该页面,然后从该页面打开联机帮助。
如何使用 xconfmanager 实用程序永久更改旧日志记录和详细级别特性的日志设置。有关使用 xconfmanager 实用程序的信息,请参阅使用 xconfmanager 实用程序
如何显示或设置日志级别。
有多种方法可用于设置日志级别:
wt.util.jmx.SetLogLevel 命令行实用程序允许您在指定的服务器进程中为指定记录器设置或重置记录器详细级别。如下所示指定该实用程序:
java wt.util.jmx.SetLogLevel [-ms|-sm|-se|-all]* [-resetAll]
[<logger_name> [<log_level>]]
其中 <logger_name> 是记录器的名称,<log_level> 是指定的详细级别。日志级别的有效值包括:ALL、TRACE、DEBUG、INFO、WARN、ERROR、FATAL 和 OFF。
服务器进程可以通过以下内容的任意组合指定:
-sm -- 以集群中的所有服务器管理器为目标。
-ms -- 以群集中的所有方法服务器为目标,包括带/不带嵌入式 servlet 引擎的方法服务器。
-se -- 以集群中的所有 servlet 引擎为目标。
-all -- 以上述所有进程为目标。若未指定任何内容,则假定指定了此项
-resetAll 选项会将目标进程中的所有 log4j 详细级别重置为 log4j 配置文件所指定的级别。如果 -resetAll 和“记录器名称”均已指定,则将在设置指定的记录器详细级别之前执行重置。必须指定 -resetAll 或“记录器名称”。
单击“系统健康监控工具”页面上的“日志级别”链接会显示一个页面,您可通过该页面显示或设置当前服务器进程的服务器管理器、方法服务器或 servlet 引擎记录器的日志级别。可从“站点” > “实用程序” > “服务器状况” 获取“日志级别”链接。在“服务器状况”页面上,单击“监控工具”
* 
某些日志记录功能应仅在故障排除时启用。有关详细信息,请参阅保护 Windchill 解决方案的最佳实践
以下各节提供了有关 wt.properties 日志文件设置和日志事件配置设置的其他信息。
出厂设置的 wt.properties 日志文件设置
本部分提供有关 Windchill 使用的 wt.properties 文件中的某些常见日志文件设置的信息。
wt.logs.dir 特性设置用于日志文件的默认目录。出厂时此特性被设为 <Windchill>/logs
* 
为服务器管理器、方法服务器或后台方法服务器指定 Windchill 日志路径的 wt.logs.dir 特性值不得包含任何空格。例如:
错误用例:D:\ptc\Windchill_giraffe_246_2\Windchill\ my logs
正确用例:D:\ptc\Windchill_11.1\Windchill\mylogs
日志文件命名和内容主要受到 log4j 配置的控制。服务管理器和方法服务器的 log4j 配置在 wt.properties 中指定,具体如下所示:
wt.manager.log4j.config=WEB-INF/log4jServerManager.properties
wt.method.log4j.config=WEB-INF/log4jMethodServer.properties
PTC 建议不要改变日志文件设置,因为日志文件的一致性可简化与技术支持的交互。
主要方法服务器和服务器管理器日志文件包含所有从现有代码中生成的消息和使用 log4j 记录器生成的消息。本主题中显示的列表详细介绍了与处理日志文件相关的现有信息。
配置存储哪些日志事件
默认情况下,大多数记录器都经过设置,因此 Windchill 仅在 Windchill 日志文件中存储 ERROR 和 FATAL 日志事件 (除非已扩展过配置以输出其他日志事件)。因此通常需要更改此配置以查看其他日志事件,如“追踪”、“调试”、“信息”或“警告”。
要为给定区域开启给定日志记录级别,应确定该区域是否具有相应的记录器,方法是通过使用“操作”选项卡 (有关详细信息,请参阅使用 MBeans 处理日志文件) 或使用“日志级别”页面 (位于“站点” > “实用程序” > “服务器状况”中)。在“服务器状况”页面上,单击“监控工具”):
如果未实施 log4j 记录器,请定位 wt.properties 中设置日志级别的特性并使用 xconfmanager 实用程序设置该特性中的级别。
如果已实施了 log4j 记录器,则可以为所有记录器打开某给定日志记录级别或在更具体的级别上调整日志记录级别。
要为所有记录器打开某给定的日志记录级别,请找到相应特性文件中的 log4j.rootLogger 特性并将第一个逗号之前的值 (默认值为 "error") 更改为所需的级别。例如,将:
rootLogger.level=ERROR
更改为:
rootLoggerlevel =DEBUG
为所有记录器打开日志记录通常会导致在日志输出中产生过多数据;因此更恰当的做法是在更具体的记录器级别上调整日志记录级别。为此,可向属性文件附加一行格式如下的数据:
logger.uniqueID.name=<targetLoggerName>
logger.dirContextMonitorStatSummary.level=<desiredLogLevel>
其中 <targetLoggerName> 是记录器名而 <desiredLogLevel> 为日志级别。
例如,要将 wt.servlet.ServletRequestMonitor.stats 的日志级别设置为 INFO,请向 log4jWebApp.properties 文件中添加如下特性:
logger.serverrequestmonitor.name=wt.servlet.ServletRequestMonitor
logger.serverrequestmonitor.level=INFO
* 
添加此特性还会导致所有 wt.servlet.ServletRequestMonitor.stats.* 记录器的默认日志级别设置为 INFO。例如,wt.servlet.ServletRequestMonitor.stats.summary 记录器的级别也将会设为 INFO,除非另行指定了此记录器的级别。
定期执行 log4j 配置文件修改检查时,系统可能会在数分钟内忽略对这些文件的更改。要对 log4j 配置文件强制执行即时重新加载,请对 Logging MBean 执行重新配置操作,或对 log4j 配置进行临时更改而不更改配置文件。
* 
当应用维护版本时,可能不会保留对特性文件作出的手动更改;因此请确保备份了所有手动修改的文件。
了解汇总日志条目和 MBean 设置
很多作为统计汇总的日志条目能够为任何检查系统健康状况或者尝试调试某个已确定特定问题的人员提供有用的信息。可以通过一些 Windchill MBean 来配置这些类型的消息被记录的时间和频率。
* 
要使通过 MBean 做出的更改成为永久更改,必须按照使用 Loader MBean 保存配置更改中所述的方法使用 Loader MBean。
查看日志文件时,可通过以下两项之一来确定包含的统计汇总:
wt.summary.general
以 stats.summary 作为结尾的记录器名称
针对常规汇总生成的内容 (通过 wt.summary.general 提供) 可以通过位于“汇总”下的出厂设置汇总 MBean 来管理。
对于由 stats.summary 标识的默认统计汇总条目,可以通过将 MBean 名称与 .stats.summary 前面显示的部分名称进行匹配来确定哪个 MBean 控制所生成条目的内容。例如,假定方法服务器日志条目以如下内容开始:
Wed 9/3/08 13:52:50: wt.jmx.core.SharedScheduledExecutor.worker: INFO :
com.infoengine.util.IeContextMonitor.stats.summary -
根据名称 IeContextMonitor,可以推断出控制此条目的 MBean 为 IeContexts (可位于树中的 Monitors 节点下)。请参阅 IeContexts (Monitors)。
如果方法服务器日志条目以下列内容开始:
Wed 9/3/08 13:52:50: wt.jmx.core.SharedScheduledExecutor.worker: INFO :
com.infoengine.jndi.DirContextMonitor.stats.summary -
则控制此条目的 MBean 是 DirContexts。请参阅 DirContexts (Monitors)。
使用与每个 MBean 关联的下列属性来管理汇总:
SummaryIntervalSeconds - 确定记录统计信息的频率 (默认值为 600 秒)
SummaryStatisticsLoggerName - 此名称出现在日志条目中
SummaryStatisticsLoggerLevel - ERROR、FATAL、TRACE、DEBUG、INFO 或 WARN
StatisticsLoggerOutputAttributes - 要记录的数据
StatisticsLoggerOutputAttributesSupported - 可以记录的数据
* 
PTC 建议您应始终记录类似于默认情况下所提供的那些汇总信息,以便记录一天中系统的执行情况。