基本自定义 > Windchill 自定义基础 > 管理自定义 > 使用 Log4j 2.0 进行自定义 > 布局、记录器、筛选器和工作流配置
布局、记录器、筛选器和工作流配置
本节列出了记录器、布局、筛选器和工作流配置的示例代码。
布局配置
Log4j 1.2 用法
Log4j 2.0 用法
log4j.appender.epmPerformanceLogFile.layout=wt.log4j.jmx.TSVLayout
appender.epmPerformanceLogFile.layout.type = TSVLayout
筛选器配置
Log4j 1.2 用法
Log4j 2.0 用法
log4j.appender.IncomingRmiStats.threshold=WARN
appender.IncomingRmiStats.filter.threshold.type=ThresholdFilter
appender.IncomingRmiStats.filter.threshold.level=WARN
* 
如需获得筛选器配置方面的任何协助,请与厂商联系。PTC 不对任何第三方配置提供支持。
Windchill 提供预设筛选功能,如下所示:
关键字匹配筛选器
此筛选器可基于所提供匹配字符串进行筛选,并基于所提供的关键字记录所有记录器。如果将日志级别设置为“追踪”,则记录预设堆栈追踪。
配置
示例
logger.<logger_name>.name=<package_name>
logger.<logger_name>.level=<logger_level>
logger.<logger_name>.filter.<filter_name>.type=KeyWordMatchFilter
logger.<logger_name>.filter.<filter_name>.keyWordsToMatch=<keyword_to_search>
logger.<logger_name>.filter.<filter_name>.onMatch=ACCEPT/NEUTRAL/DENY
logger.<logger_name>.filter.<filter_name>.onMismatch=ACCEPT/NEUTRAL/DENY
logger.pomSql.name=wt.pom.sql
logger.pomSql.level=DEBUG
logger.pomSql.filter.keywordFilter.type=KeyWordMatchFilter
logger.pomSql.filter.keywordFilter.keyWordsToMatch=wt.part.WTPart
logger.pomSql.filter.keywordFilter.onMatch=ACCEPT
logger.pomSql.filter.keywordFilter.onMismatch=DENY
焦点筛选器
使用此筛选器配置时,将根据提供的关键字筛选现有堆栈追踪。此筛选器配置不会打印所有日志。
配置
说明
logger.<logger_name>.name=<class_name>
logger.<logger_name>.level=<log_level>
logger.<logger_name>.filter.<filter_name>.type=FocusedStackClassFilter
logger.<logger_name>.filter.<filter_name>.stackTraceStringMatch=<keyword_to_search>
logger.<logger_name>.filter.<filter_name>.onMatch=ACCEPT/NEUTRAL/DENY
Logger.<logger_name>.filter.<filter_name>.onMismatch=ACCEPT/NEUTRAL/DENY
logger.SOSM.name=wt.org.OrganizationServicesHelper
logger.SOSM.level=ALL
logger.SOSM.filter.stackClassFilter.type=FocusedStackClassFilter
logger.SOSM.filter.stackClassFilter.stackTraceStringMatch="wt.org.OrganizationServicesHelper.isPrincipalNameValid","com.ptc.jca.mvc.controllers.BreadCrumbController.getContextObject"
logger.SOSM.filter.stackClassFilter.onMatch=ACCEPT
logger.SOSM.filter.stackClassFilter.onMismatch=DENY
筛选器的值可以是下列值之一:
ACCEPT - 根据日志级别处理事件,而无需进行进一步筛选。
NEUTRAL - 无法做出任何决定,应进行进一步筛选。
DENY - 不应处理事件。
记录器配置
Log4j 1.2 用法
Log4j 2.0 用法
用于启用记录器的 Log4j 1.2 用法:
log4j.logger.com.ptc.windchill.upgrade=WARN
用于启用记录器的 Log4j 2.0 用法:
logger.WCUpgrade.name=com.ptc.windchill.upgrade
logger.WCUpgrade.level=WARN
其中,WCUpgrade 可以是任意名称,但必须是唯一的。
用于附加多个附加器的 Log4j 1.2 用法
# Limit com.infoengine.log* loggers to outputting to methodServerLogFile and MiscLogEvents
log4j.logger.com.infoengine.log=, methodServerLogFile, MiscLogEvents
log4j.additivity.com.infoengine.log=false
用于附加多个附加器的 Log4j 2.0 用法
# Limit com.infoengine.log* loggers to outputting to methodServerLogFile and MiscLogEvents
#Make sure to change the package structure as per your application
logger.infoengineLog.name=com.infoengine.log
logger.infoengineLog.additivity=false
logger.infoengineLog.appenderRef.methodServerLogFile.ref=methodServerLogFile
logger.infoengineLog.appenderRef.MiscLogEvents.ref=MiscLogEvents
对于其中的表达式使用了 Log4j 1.2 API 的自定义工作流模板,它们均已更新为使用 Log4j 2.0 API。如果有运行中工作流的表达式使用了 Log4j 1.2 API,则可以在进行修改之前使用“外部化表达式”将表达式保存到外部文件中。有关 Externalize Expressions 的详细信息,请参阅外部化工作流模板的表达式
这对您有帮助吗?