This week's giveaway is in the Spring forum.
We're giving away four copies of REST with Spring (video course) and have Eugen Paraschiv on-line!
See this thread for details.
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

Win a copy of REST with Spring (video course) this week in the Spring forum!
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
wood burning stoves
subject: Aspectj & Log4j problem
It's not a secret anymore!