Log4j Error

hello Guys,

Can anybody help me what does this means?

2002-10-28 12:00:12 [B2BPCKG.0090.0003] handleOrderUpdate called
log4j:ERROR No appenders could be found for category (AdminLogger).
log4j:ERROR Please initialize the log4j system properly.
2002-10-28 12:00:16 [B2BPCKG.0090.0003] The counter now is 1 and Number of Retries is set to 2


This looks to me like error handling within your Flow, Faith. These messages were created by a person and not the Integration Server.

Did you write this code or inherit it?

In any case, the developer is using this message to indicate that log4j is not behaving as expected.

is log4j a software or tools? Cause in our Integration Server, we are using EJB Adapter. Also, why is it making any logs in WebMethods?

log4j is a logging utility for Java programs. It is included with the wM Adapter Development Kit. Either somthing within handleOrderUpdate is using log4j directly, or the EJB Adapter is using it and it can’t find the classes for log4j. Probably the culprit is the latter.

An “Appender” is a Java interface used by log4j to append entries to a log. For whatever reason, the AdminLogger class that implements the interface cannot be found. Verify the EJB Adapter installation would be my first guess.

Hey Rob and Dan…thanks for your help. I appreciate it. I will let you know what we found out.

Log4j is one of the apache open source projects. You can find more information at http://jakarta.apache.org/log4j.

In your case it seems that the Log4J framework can’t find any configuration file. You should probably ask whoever wrote the AdminLogger class about what configuration file to use. If they are not available, then read the documentation at http://jakarta.apache.org/log4j to find out how to configure log4J correctly. There are a couple of different options (classpath, jvm arg, …) that will depend on the deployment of IS.

Categories are used to group, direct, and filter log output. It is common to use the name of the class (i.e. AdminLogger) as the name for a category. The category is what needs to be defined in the log4j configuration file.


Does WebMethods itself use log4j? Cause I saw in my IS directory under /lib/jars, I have a file named: log4j-full.jar.


Does anybody knows if WebMethods itself are using log4j utility?


Undoubtedly they do. I don’t know if the base server uses it (the logging options seem log4j-ish) but wM adapters most likely use it as it is part of the ADK for IS.

The IS core does not use log4j. But the Adapter Developement Kit does, and it gets installed by the EJB Adapter installation.


Small caveat: in the above I should have mentioned that several other wM products use it besides the EJB adapter. Oh, and I should have started with “to the best of my knowledge”, 'cause I could be wrong.


Hey…thanks for your help…

Look at some of the errors:
0000A8 [B2BPCKG.0090.0003] OrderUpload: After Connect, checking for connectin failure…
0000A9 [B2BPCKG.0090.0003] Trying to retrieve the EJB.
log4j:ERROR No appenders could be found for category (AdminLogger).
log4j:ERROR Please initialize the log4j system properly.
0000AA [B2BPCKG.0090.0003] Trying to invoke the EJB method.
0000AB [B2BPCKG.0090.0003] The counter now is 1 and Number of Retries is set to 3

another one:

0002AD [B2BPCKG.0090.0003] After connecting to app. Server
log4j:ERROR No appenders could be found for category (AdminLogger).
log4j:ERROR Please initialize the log4j system properly.
0002AE [B2BPCKG.0090.0003] After retrieving EJB from app. Server

It looks to me like somebody deleted something they shouldn’t have. Is the imdk package still there?

The ejb package requires it.

Yes the imdk package is still here. This is what the Architecture says about this errors:

"As a matter of convention, we added logging to the new classes we are deploying in the B2B integration server. Our application uses the log4j utility and evidently, so does WebMethods. WebMethods , however is using an older implemention of the log4j API. Among other things, the package naming is different between the one we’re using (log4j.apache.org) and the one used by WebMethods (org.log4j). Despite the distinct package naming, it turns out that the two implementations cannot coexist.
The result is that our references to org.apache.log4j produce exceptions when deployed in WebMethods.

Some further investigation indicated that the org.apache.log4j classes are indirectly referenced via the class loading logging being done in the home and remote interfaces of the beans that are called from the B2B integration server. The offending statements take the following form:

public static final String CVS_VERSION =
com.fmomega.ems.util.AdminLogUtil.logLoadedClass(VendorServicesAPDFacadeHome.class, “Header: /projects/cvs/omega/src/com/fmomega/b2b/core/facade/ejb/VendorServicesAPDFacadeHome.java,v 1.2 2002/09/22 12:53:04 f253828 Exp ”);

In the short term, the problem can be eliminated by commenting out the references to the AdminLogUtil class in the home and remote interfaces of the beans that are being called from the B2B layer. As is, the log statments don’t work and argueably provide little information. There is also no other meaningful logging that occurs in these interfaces.

Longer term, the ideal solution, if it is feasible, is to upgrade WebMethods. Presumably, the have a version that uses a more recent implementation of log4j.
If that is not possible, we can always implement alternate versions of AdminLogUtil (and any other needed logging utility classes) that use WebMethod’s org.log4j implementation rather than the org.apache.log4j implementation.

I suggest we comment out the offending statments but also make inquiries to WebMethods about their use of the org.log4j implementation in more recent and future versions of their integration server. "

What can you say guys? Any comments.

Sounds like your folks are aware of the underlying issue and have a reasonable workaround.


I have the same problem, when i install a new IS, everything seems alright, but when i placed a package in it, this problem appears.so when the package in, this will happen, when i remove the package, the problem no longer exist. what’s the relationship between log4j and new package???but i haven’t found any relational file with log in package.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.