log4j.jar file missing after upgrade

book

Article ID: 109285

calendar_today

Updated On:

Products

CA Single Sign On Secure Proxy Server (SiteMinder) CA Single Sign On SOA Security Manager (SiteMinder) CA Single Sign-On

Issue/Introduction



We have upgraded from R12.7 to R12.8 and right after the upgrade we are getting errors regarding our custom authentication scheme. The errors are all making reference to log4j component:

July 18, 2018 12:35:36.0 PM[517380410:E] Exception Stack Trace: java.lang.NoClassDefFoundError: org/apache/log4j/Logger 

We still have some servers in R12.7, and we noticed there is a log4j.jar file present while in the upgraded servers there is not. Why is this file missing? How can we solve this?

Environment

Policy Server R12.8 

Resolution

The error occurs because your custom code is using the log4j component included in the Policy Server, and as R12.8 Policy Server includes a newer log4j version which changes the jar & properties file names and structure, it cannot find the classes needed by the code.

In R12.7:
\CA\SiteMinder\bin\jars\log4j.jar 
\CA\SiteMinder\bin\thirdparty\log4j-1.2.17.jar 
\CA\SiteMinder\config\properties\log4j.properties 
\CA\SiteMinder\bin\jars\UpgradeReadinessCheck_log4j.properties 

In R12.8:
\CA\SiteMinder\config\properties\log4j.properties.new 
\CA\SiteMinder\bin\jars\log4j-api.jar 
\CA\SiteMinder\bin\jars\log4j-core.jar 
\CA\SiteMinder\bin\jars\log4j-slf4j-impl.jar 
\CA\SiteMinder\bin\thirdparty\log4j-api-2.10.0.jar 
\CA\SiteMinder\bin\thirdparty\log4j-core-2.10.0.jar 
\CA\SiteMinder\bin\thirdparty\log4j-slf4j-impl-2.10.0.jar 
\CA\SiteMinder\config\properties\log4j2.properties 

In order to solve this you need to modify your custom code to use the new jar files instead.