Updates for Log4j compatibility
PTC has updated the code base to be compatible with Log4j 2.0. In your upgraded solution, be aware of the following Log4j updates:
Non supported APIs
• The DynamicMBeanRenderer API is no longer supported with Windchill 12.0.2.0. As per the compatibility report for Log4j 2.0, renderers are not supported.
• setLayout API is not supported in Log4j 2.0 version. It is removed from AppenderMonitor Mbean list of APIs.
• getIgnoresThrowable API is not supported in Log4j 2.0 version. It is removed from LayoutMonitor Mbean list of APIs.
• PatternLayoutBeanInfo and LayoutBeanInfo APIs are not supported by Windchill.
• activateOptions API is not supported for Log4j 2.0.
• On JConsole, under com.ptc.logging head, LoggerInfo displays loggers that has additivity property set to false.
Updates to log4j.LogR class
• LogR.getLogger() API is updated to return object of type org.apache.logging.log4j.Logger. Earlier, the return type was org.apache.log4j.Logger.
• getLoggerRepository() is removed as it is not support in Log4j 2.0.
Any customization code using this API, needs to be updated. For more details on usage, refer
Customization Examples for Appenders.
Recursive Error
Log4j 2.0 error is observed when a logger is invoked while constructing the log message string:
Logger.error(“Message to be shown”,myException);
If myException class uses logger in its getMessage(), error observed is:ERROR Recursive call to appender ReconnectPrincipalsUtilLogFile. This error originates from AppenderControl.java. Refer to Log4j documentation for the solution.
For
Windchill Log4j 2.0 customization and usage, refer
Customization Examples for Appenders. For any Log4j 2.0 customization, refer to Log4j 2.0 documentation.