0
votes

I have a Spring/Struts/Hibernate application and deploying to WebSphere. I have log4j.xml set up for the application and it works great. I've added in activemq-5.8.0-all.jar and using an embedded broker.

<amq:broker useJmx="false" persistent="false">
    <amq:transportConnectors>
        <amq:transportConnector uri="tcp://localhost:61818" />
    </amq:transportConnectors>
</amq:broker>

Since I've added the activemq jar (in WEB-INF/lib dir) and using an embedded broker, I think the activemq internal logging mechanism gets loaded on the classpath first and my application logging no longer works.

How can I use my custom log4j logging that I've set up with the embedded broker (instead of the logging included with the activemq jar)?

I have tried adding a jvm argument to websphere to point to the log4j.xml I'm using, but it's still not found.

log4j.configuration=D:\projects\my_app\log4j.xml

I have also tried using the loggingBrokerPlugin in the broker setup to turn off logging.

<amq:broker useJmx="false" persistent="false">
    <amq:plugins>
        <amq:loggingBrokerPlugin logAll="false" logConnectionEvents="false" />
    </amq:plugins>
    <amq:transportConnectors>
        <amq:transportConnector uri="tcp://localhost:61818" />
    </amq:transportConnectors>
</amq:broker>

Any help would be greatly appreciated!

1
Well, I found the issue. I needed to add file:D:\projects\my_app\log4j.xml to JVM property because it's on disk, not on the classpath. - michael

1 Answers

0
votes

As noted in my comment above:

The JVM property is a file resource, not on the classpath, so my JVM argument should have been

file:D:\projects\my_app\log4j.xml