File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Other Open Source Projects and the fly likes remove log4j appender from an API Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Products » Other Open Source Projects
Bookmark "remove log4j appender from an API" Watch "remove log4j appender from an API" New topic

remove log4j appender from an API

Markus Andersson

Joined: Dec 23, 2008
Posts: 2
I hope the post is in the correct forum area.

I have a quite annoying problem, I have written an integration between two systems and after all I realize that log4j would be really good for logging.
And I just switched out my regular logger and appended log4j, but there is a problem with the API that I'm using, it has a log4j appender in the precompiled source. Is there a way to just remove that logger? I tried to remove is but with no luck, it still log in the wrong file with the wrong settings when the API has been used.

Any good ideas of how I can disable the API log4j appender?

Best Regards
Ulf Dittmer

Joined: Mar 22, 2005
Posts: 42959
Welcome to JavaRanch.

In most cases, log4j takes all its configuration from an external file (often called ""). If that's the case here, then you should be able to replace the configuration that comes with the library with your own configuration.
Markus Andersson

Joined: Dec 23, 2008
Posts: 2

I have already made a log4j configuration, and added the set the log4j in debug mode here is the output from the console when I run the application.

lo.html is "my log file" and my_PM.html is "API log file" which I don't mind if it's created or not but it's steeling my log entries.
The problem is that the API I'm forced to use is creating a new log4j appender and all logs are after that handled by that appender.
The API don't have a or log4j.XML files. I guess it's compiled into the code.

I have realized that the new Appender from the API is called A, then I tried to remove that appender

But it stills uses the A appender. I can't access the A appender from the API it's automatically used by the API.

Any good suggestions?
Martijn Verburg

Joined: Jun 24, 2003
Posts: 3275

Hi there,

Have you tried setting the root configuration, e.g. (From a sample log4j.xml)

Cheers, Martijn - Blog,
Twitter, PCGen, Ikasan, My The Well-Grounded Java Developer book!,
My start-up.
I agree. Here's the link:
subject: remove log4j appender from an API
It's not a secret anymore!