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 Aspectj & Log4j problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Products » Other Open Source Projects
Bookmark "Aspectj & Log4j problem" Watch "Aspectj & Log4j problem" New topic

Aspectj & Log4j problem

Pat Short

Joined: Mar 21, 2008
Posts: 22
Hi all,

I'm having an issue with Log4j and Aspectj. I've configured logging in my application using Aspects. I have defined pointcuts for all method in my app and before and after advice to log using commons logging. I use log4j as the logging implementation

In the aspect I create the logger

private Log log = LogFactory.getLog("trace");

and in the before and after advise I have simple log statements

log.debug("Entering Method");

I can see that the aspects are executing before and after each method and the debug statements are being executed.

I then config log4j loggers configuration as follows so that the entering & exiting messages only appear in the trace-file appender.

<logger name="com.myapp" additivity="false">
<level value="debug"/>
<appender-ref ref="trace-file" />
<priority value="info" />
<appender-ref ref="console" />
<appender-ref ref="trace-file" />

However my debug log statments from the aspectj are not output on the com.myapp logger. If I use log.debug statement anywhere else my app the they are ouput successfully. Also if I change the root logger level to debug the aspectj log statements are output to my appenders.

What I can't understand is why the log statements from the aspects are not output on my custom logger.

Anyone got an example of this that I can see?

Thanks in advance
I agree. Here's the link:
subject: Aspectj & Log4j problem
It's not a secret anymore!