基本自定义 > Windchill 自定义基础 > 管理自定义 > 使用 Log4j 2.0 进行自定义 > 附加器的自定义示例
  
附加器的自定义示例
本节列出了通过先前的 Log4j 版本用于某些附加器的自定义代码,以及为实现 Log4j 2.0 兼容性而建议用于这些附加器的自定义代码。
Console 附加器
Log4j 1.2 用法
Log4j 2.0 用法
wt.log4j.jmx.ConsoleAppender
# Define stdout appender, which sends log events to stdout
log4j.appender.stdout=wt.log4j.jmx.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p : %c %X{user} - %m%n
Console
# Define stdout appender, which sends log events to stdout
appender.stdout.type = Console
appender.stdout.name = stdout
appender.stdout.follow = false
appender.stdout.layout.type = PatternLayout
appender.stdout.layout.alwaysWriteExceptions = false
appender.stdout.layout.pattern = %-5p : %c %X{user} - %m%ex%n
RollingFile 附加器
Log4j 1.2 用法
Log4j 2.0 用法
wt.log4j.jmx.DailyRollingFileAppender
# Define methodServerLogFile appender, which sends log events to a file
log4j.appender.methodServerLogFile=wt.log4j.jmx.DailyRollingFileAppender
log4j.appender.methodServerLogFile.File=${wt.logs.dir}/${wt.manager.serviceName}-${wt.jvm.startTime.formatted.short}-${wt.jvm.id}-log4j.log
log4j.appender.methodServerLogFile.DatePattern='.'yyyy-MM-dd
log4j.appender.methodServerLogFile.layout=org.apache.log4j.PatternLayout
log4j.appender.methodServerLogFile.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c %X{user} - %m%n
RollingFile
# Define methodServerLogFile appender, which sends log events to a file
appender.methodServerLogFile.type = RollingFile
appender.methodServerLogFile.name = methodServerLogFile
appender.methodServerLogFile.createOnDemand = true
appender.methodServerLogFile.fileName = ${sys:wt.logs.dir}/${sys:wt.manager.serviceName}-${sys:wt.jvm.startTime.formatted.short}-${sys:wt.jvm.id}-log4j.log
appender.methodServerLogFile.filePattern = ${sys:wt.logs.dir}/${sys:wt.manager.serviceName}-${sys:wt.jvm.startTime.formatted.short}-${sys:wt.jvm.id}-log4j.log.%d{yyyy-MM-dd}_%i
appender.methodServerLogFile.layout.type = PatternLayout
appender.methodServerLogFile.layout.alwaysWriteExceptions = false
appender.methodServerLogFile.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%t] %c %X{user} - %m%ex%n
appender.methodServerLogFile.policies.type = Policies
appender.methodServerLogFile.policies.time.type = TimeBasedTriggeringPolicy
appender.methodServerLogFile.policies.time.interval = 1
appender.methodServerLogFile.policies.time.modulate = true
appender.methodServerLogFile.policies.size.type = SizeBasedTriggeringPolicy
appender.methodServerLogFile.policies.size.size=9MB
appender.methodServerLogFile.strategy.type = DefaultRolloverStrategy
appender.methodServerLogFile.strategy.max = 2147483647
有关 log4jMethodServer.properties 中的日期模式,请参阅示例:
appender.methodServerLogFile.layout.pattern = %d{​​​​​yyyy-MM-dd HH:mm:ss,SSS}​​​​​{​​​​​${​​​​​timeZone}​​​​​}​​​​​ %-5p [%t] %c %X{​​​​​user}​​​​​ - %m%ex%n
有关 RollingFileAppender 滚动更新策略,请参阅示例:
appender.methodServerLogFile.filePattern = ${sys:wt.logs.dir}/${sys:wt.manager.serviceName}-${sys:wt.jvm.startTime.formatted.short}-${sys:wt.jvm.id}-log4j.log.%d{yyyy-MM-dd}_%i
appender.methodServerLogFile.policies.type = Policies
appender.methodServerLogFile.policies.midnight.type = SizeBasedMidnightTriggeringPolicy
appender.methodServerLogFile.policies.midnight.size=9MB
appender.methodServerLogFile.strategy.type = DefaultRolloverStrategy
appender.methodServerLogFile.strategy.max = 2147483647
${timeZone} 参数应仅用于 log4jMethodServer.properties 中的日期模式。RolingFile 附加器必须具有 %d{yyyy-MM-dd}_%i 文件模式。
AsyncJDBCAppender 附加器
Log4j 1.2 用法
Log4j 2.0 用法
wt.log4j.jmx.AsyncJDBCAppender
# Define MiscLogEvents appender, which sends log events (of sufficiently high severity) to the database
log4j.appender.MiscLogEvents=wt.log4j.jmx.AsyncJDBCAppender
log4j.appender.MiscLogEvents.BatchSize=200
log4j.appender.MiscLogEvents.IncludeMDC=true
log4j.appender.MiscLogEvents.threshold=WARN
# Throttle logging of exception traces to the database (adjust threshold as needed)
log4j.appender.MiscLogEvents.ThrowableElideThreshold=15
wt.log4j.jmx.AsyncJDBCAppender
# Define MiscLogEvents appender, which sends log events (of sufficiently high severity) to the database
appender.MiscLogEvents.name=MiscLogEvents
appender.MiscLogEvents.type=AsyncJDBCAppender
appender.MiscLogEvents.BatchSize=200
appender.MiscLogEvents.IncludeMDC=true
appender.MiscLogEvents.filter.threshold.type=ThresholdFilter
appender.MiscLogEvents.filter.threshold.level=WARN
# Throttle logging of exception traces to the database (adjust threshold as needed)
appender.MiscLogEvents.ThrowableElideThreshold=15
IncomingRmiStatsAppender 附加器
Log4j 1.2 用法
Log4j 2.0 用法
wt.log4j.jmx.IncomingRmiStatsAppender
# Configure IncomingRmiStats appender
# Collects RMI statistics for viewing with wt.rmi.jmx.IncomingRmiStatsMonitor MBean;
# must instantiate this MBean (via MBean Loader) to access results
log4j.appender.IncomingRmiStats=wt.rmi.jmx.IncomingRmiStatsAppender
# Disable IncomingRmiStats appender by default; set threshold to INFO to enable
log4j.appender.IncomingRmiStats.threshold=WARN
wt.log4j.jmx.IncomingRmiStatsAppender

# Configure IncomingRmiStats appender
# Collects RMI statistics for viewing with wt.rmi.jmx.IncomingRmiStatsMonitor MBean; must instantiate this MBean
(via MBean Loader) to access results
appender.IncomingRmiStats.name=IncomingRmiStats
appender.IncomingRmiStats.type=IncomingRmiStatsAppender
# Disable IncomingRmiStats appender by default; set threshold to INFO to enable
appender.IncomingRmiStats.filter.threshold.type=ThresholdFilter
appender.IncomingRmiStats.filter.threshold.level=WARN