thanx for the fast help!

yes it works!!!

thanx,
christoph

-----Ursprüngliche Nachricht-----
Von: Bender Heri [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 13. Juli 2006 16:19
An: Log4J Users List
Betreff: RE: my owen loggerclass

first, extending Logger class is discouraged. You should wrap the logger class 
if you want to do generic work on each logger call. Best practice would be, to 
pass the correct logger in each call to debug() etc. So you can benefit of 
finetuning the logger output by classes and packages.

second: Your problem can be solved if you your wrapper class calls the generic 
method log() of Logger. There you pass as first parameter the FQCN of your 
wrapper class:

public debug( Logger logger, Object object )
{
    // do your own stuff

    doLog( logger, Level.DEBUG, object, null );
}

private doLog( Logger logger, Level level, Obejct object, Throwable exception )
{
  logger.log( MyWrapperClass.class.getName(), level, object, exception );
}

The log4j framework will strip away all stack trace information up to this 
supplied FQCN.

Heri

> -----Original Message-----
> From: Strasser Christoph [mailto:[EMAIL PROTECTED]
> Sent: Thursday, July 13, 2006 3:59 PM
> To: Log4J Users List
> Subject: [SPAM (Bayesain Analysis)] - my owen loggerclass - Bayesian
> Filter detected spam
> 
> 
> hi,
> 
>  
> 
> i need to write an owen logger class extending log4js logger and
> overwriting the debug, info, warn, error and fatal methods!
> 
>  
> 
> o.k. - i've done it like that:
> 
>  
> 
> public void debug(Object msg){
> 
> ...
> 
> my operations
> 
> ...
> 
>  
> 
> logger.debug(msg);  //logger is an object of log4js Logger
> 
> }
> 
>  
> 
> the problem is... i'm configuring my logger object in a 
> properties file,
> and i need to track the calling class and method (the methode 
> who starts
> the logging)... 
> 
>  
> 
> i used the patternlayouts litterals %C{1}.%M for getting the Class and
> Methods names... but now MY appender is the calling class and my debug
> method is the calling method... due to the command 
> 
> logger.debug(msg);  //logger is an object of log4js Logger
> 
>  
> 
> :(((
> 
>  
> 
> i've tried to replace the logger.debug(msg) thing with the 
> code, that is
> in the Logger.debug methode - hoping to get the initialli 
> calling class
> and methode... getting Nullpointers because of repository is Null... i
> tryed get rid of this problem by setting the repository... 
> but now... my
> loggerobject doesnt have an appender... but it should have one... here
> is the fragment of my code - can anyone help me with this?!?!
> 
>  
> 
> public void debug(Object msg){
> 
>             
> 
> ...
> 
> my operations
> 
> ...         
> 
>  
> 
> Logger logger = Logger.getLogger("myAppender");
> 
>  
> 
> Hierarchy hierarchy = new Hierarchy(logger);
> 
> repository = hierarchy;
> 
>       
> 
> if (repository.isDisabled(Level.DEBUG_INT)) {
> 
>   return;
> 
> }
> 
>  
> 
> if (Level.DEBUG.isGreaterOrEqual(logger.getEffectiveLevel())) {
> 
>   forcedLog(myLogger.class.getName(), Level.DEBUG, msg, null);
> 
> }
> 
> }
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to