The good thing about log4j in your case is that your jar really shouldn't have to worry about it. The basic use case of log4j is:
- Obtain a logger object for the current class
- Call one of the methods on that logger, such as
debug("some message");
If the jars you are shipping are to be used by a larger application, then ideally your code will only do the two steps listed above. In this way, your code will simply obtain logger objects from the already-configured log4j instance in the client's application. Your production code is then decoupled from having to know how to configure log4j.
Any logging you need to see for your development of the jars can be accomplished by configuring a log4j instance in unit test setUp() methods or something similar that won't get bundled with the production code going to the client.