You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Neeme Praks <ne...@apache.org> on 2003/05/02 00:22:16 UTC

[logging] commons logging API implementation, delegating to avalon framework logging API

As part of beefing up the jelly service for avalon, I wrote a 
dead-simple wrapper for avalon logging API to be plugged into commons 
logging (see the attachment).
I'm not sure if this has been done before, but it was so easy to 
implement, so I didn't bother to search very hard.
The usage, 2 lines of code, should be executed before loading any class 
that uses commons logging:
        AvalonLogger.setDefaultLogger(getLogger()); //static method, for 
passing the root logger. it is evil, but it seems to be the only 
workaround for now
        System.setProperty("org.apache.commons.logging.Log", 
"org.apache.commons.jelly.avalon.AvalonLogger");
(the package name should probably be renamed)

Anyway, the question is: where should this go? The most obvious answer 
seems to be commons-logging, right?
Or some other ideas?

Rgds,
Neeme



Re: [logging] [patch] commons logging API implementation, delegating to avalon framework logging API

Posted by Neeme Praks <ne...@apache.org>.
ok, clear. thanks!

robert burrell donkin wrote:

> On Wednesday, May 14, 2003, at 01:05 PM, Neeme Praks wrote:
>
>> thanks!
>>
>> However, you missed my patch to RELEASE-NOTES.txt (in my previous email)
>
>
> as i understand it, the release notes are created manually before each 
> new release. (hopefully someone will correct me if i'm wrong.)
>
>> And, I found out that I also had missed that I had changed 
>> TestAll.java as well, to include Avalon testcase. Patch attached.
>
>
> avalon is an optional dependency (like log4j and jdk1.4). the avalon 
> logger should only be build and tested when the avalon-framework is 
> found in the classpath. so i added the avalon test as an optional test 
> (just like logj4 and jdk1.4) rather than as part of the main test.
>
> hope's that's all cleared up now.
>
> - robert
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: [logging] [patch] commons logging API implementation, delegating to avalon framework logging API

Posted by robert burrell donkin <ro...@blueyonder.co.uk>.
On Wednesday, May 14, 2003, at 01:05 PM, Neeme Praks wrote:

> thanks!
>
> However, you missed my patch to RELEASE-NOTES.txt (in my previous email)

as i understand it, the release notes are created manually before each new 
release. (hopefully someone will correct me if i'm wrong.)

> And, I found out that I also had missed that I had changed TestAll.java 
> as well, to include Avalon testcase. Patch attached.

avalon is an optional dependency (like log4j and jdk1.4). the avalon 
logger should only be build and tested when the avalon-framework is found 
in the classpath. so i added the avalon test as an optional test (just 
like logj4 and jdk1.4) rather than as part of the main test.

hope's that's all cleared up now.

- robert


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: [logging] [patch] commons logging API implementation, delegating to avalon framework logging API

Posted by Neeme Praks <ne...@apache.org>.
thanks!

However, you missed my patch to RELEASE-NOTES.txt (in my previous email)
And, I found out that I also had missed that I had changed TestAll.java 
as well, to include Avalon testcase. Patch attached.

Neeme

robert burrell donkin wrote:

> committed.
>
> mea cupla (mixed up 1.4.1 with 4.1.4). thanks.
>
> BTW could you prefix [PATCH] (as well as logging) to posts containing 
> a patch.
>
> - robert
>
> On Wednesday, May 14, 2003, at 12:24 AM, Neeme Praks wrote:
>
>>
>> And here are also some more patches to more "administrative files".
>> Note that this AvalonLogger implementation supports any framework 
>> version from 4.0 upwards.
>>
>> Neeme
>>
>> robert burrell donkin wrote:
>>
>>> i've committed this code (with the package corrected) and added the 
>>> optional dependency on avalon-framework.
>>>
>>> i don't suppose that you fancy submitting a test case or two as well?
>>>
>>> - robert
>>>
>

Re: [logging] commons logging API implementation, delegating to avalon framework logging API

Posted by robert burrell donkin <ro...@blueyonder.co.uk>.
committed.

mea cupla (mixed up 1.4.1 with 4.1.4). thanks.

BTW could you prefix [PATCH] (as well as logging) to posts containing a 
patch.

- robert

On Wednesday, May 14, 2003, at 12:24 AM, Neeme Praks wrote:

>
> And here are also some more patches to more "administrative files".
> Note that this AvalonLogger implementation supports any framework version 
> from 4.0 upwards.
>
> Neeme
>
> robert burrell donkin wrote:
>
>> i've committed this code (with the package corrected) and added the 
>> optional dependency on avalon-framework.
>>
>> i don't suppose that you fancy submitting a test case or two as well?
>>
>> - robert
>>
> Index: RELEASE-NOTES.txt
> ===================================================================
> RCS file: /home/cvspublic/jakarta-commons/logging/RELEASE-NOTES.txt,v
> retrieving revision 1.2
> diff -u -r1.2 RELEASE-NOTES.txt
> --- RELEASE-NOTES.txt	4 Apr 2003 02:49:10 -0000	1.2
> +++ RELEASE-NOTES.txt	13 May 2003 23:20:42 -0000
> @@ -37,6 +37,8 @@
>                     for example, a webapp to clean up all c-l references
>                     prior to being shut down.
>
> +[AvalonLogger]     Add Log wrapper for Avalon framework logging 
> abstraction.
> +
>  BUG FIXES:
>  =========
>
> Index: STATUS.html
> ===================================================================
> RCS file: /home/cvspublic/jakarta-commons/logging/STATUS.html,v
> retrieving revision 1.13
> diff -u -r1.13 STATUS.html
> --- STATUS.html	7 May 2003 16:20:49 -0000	1.13
> +++ STATUS.html	13 May 2003 23:18:45 -0000
> @@ -70,7 +70,7 @@
>  <li><a href="http://avalon.apache.org/">Apache Avalon
>      LogKit</a> (Optional, Version 1.0.1 or later)</li>
>  <li><a href="http://avalon.apache.org/">Apache Avalon
> -    Framework</a> (Optional, Version 1.4.1 or later)</li>
> +    Framework</a> (Optional, Version 4.0 or later)</li>
>  <li><a href="http://java.sun.com/j2se">Java Development Kit</a> (Version 
> 1.4
>      or later) logging APIs (Optional)</li>
>  </ul>
> Index: project.xml
> ===================================================================
> RCS file: /home/cvspublic/jakarta-commons/logging/project.xml,v
> retrieving revision 1.8
> diff -u -r1.8 project.xml
> --- project.xml	24 Jan 2003 18:39:53 -0000	1.8
> +++ project.xml	13 May 2003 23:21:15 -0000
> @@ -34,6 +34,11 @@
>        <version>3.7</version>
>      </dependency>
>
> +    <dependency>
> +      <id>avalon-framework</id>
> +      <version>4.0</version>
> +    </dependency>
> +
>    </dependencies>
>
>    <build>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Re: [logging] commons logging API implementation, delegating to avalon framework logging API

Posted by Neeme Praks <ne...@apache.org>.
And here are also some more patches to more "administrative files".
Note that this AvalonLogger implementation supports any framework 
version from 4.0 upwards.

Neeme

robert burrell donkin wrote:

> i've committed this code (with the package corrected) and added the 
> optional dependency on avalon-framework.
>
> i don't suppose that you fancy submitting a test case or two as well?
>
> - robert
>

Re: [logging] commons logging API implementation, delegating to avalon framework logging API

Posted by Neeme Praks <ne...@apache.org>.
great, thanks!

Attached is a diff to make the implementation more robust (avoids NPEs 
when nulls are passed in) and also a testcase.

Rgds,
Neeme

robert burrell donkin wrote:

> i've committed this code (with the package corrected) and added the 
> optional dependency on avalon-framework.
>
> i don't suppose that you fancy submitting a test case or two as well?
>
> - robert
>
> On Thursday, May 1, 2003, at 11:22 PM, Neeme Praks wrote:
>
>> As part of beefing up the jelly service for avalon, I wrote a 
>> dead-simple wrapper for avalon logging API to be plugged into commons 
>> logging (see the attachment).
>> I'm not sure if this has been done before, but it was so easy to 
>> implement, so I didn't bother to search very hard.
>> The usage, 2 lines of code, should be executed before loading any 
>> class that uses commons logging:
>>        AvalonLogger.setDefaultLogger(getLogger()); //static method, 
>> for passing the root logger. it is evil, but it seems to be the only 
>> workaround for now
>>        System.setProperty("org.apache.commons.logging.Log", 
>> "org.apache.commons.jelly.avalon.AvalonLogger");
>> (the package name should probably be renamed)
>>
>> Anyway, the question is: where should this go? The most obvious 
>> answer seems to be commons-logging, right?
>> Or some other ideas?
>>
>> Rgds,
>> Neeme
>>
>>
>> /*
>>  * 
>> /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/avalon/src/java/org/
>> apache/commons/jelly/avalon/JellyService.java,v 1.1 2003/01/22 
>> 09:19:30 jstrachan Exp
>>  * 1.1
>>  * 2003/01/22 09:19:30
>>  *
>>  * ====================================================================
>>  *
>>  * The Apache Software License, Version 1.1
>>  *
>>  * Copyright (c) 2002 The Apache Software Foundation.  All rights
>>  * reserved.
>>  *
>>  * Redistribution and use in source and binary forms, with or without
>>  * modification, are permitted provided that the following conditions
>>  * are met:
>>  *
>>  * 1. Redistributions of source code must retain the above copyright
>>  *    notice, this list of conditions and the following disclaimer.
>>  *
>>  * 2. Redistributions in binary form must reproduce the above copyright
>>  *    notice, this list of conditions and the following disclaimer in
>>  *    the documentation and/or other materials provided with the
>>  *    distribution.
>>  *
>>  * 3. The end-user documentation included with the redistribution, if
>>  *    any, must include the following acknowlegement:
>>  *       "This product includes software developed by the
>>  *        Apache Software Foundation (http://www.apache.org/)."
>>  *    Alternately, this acknowlegement may appear in the software 
>> itself,
>>  *    if and wherever such third-party acknowlegements normally appear.
>>  *
>>  * 4. The names "The Jakarta Project", "Commons", and "Apache Software
>>  *    Foundation" must not be used to endorse or promote products 
>> derived
>>  *    from this software without prior written permission. For written
>>  *    permission, please contact apache@apache.org.
>>  *
>>  * 5. Products derived from this software may not be called "Apache"
>>  *    nor may "Apache" appear in their names without prior written
>>  *    permission of the Apache Group.
>>  *
>>  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>>  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>>  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>>  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>>  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>>  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>>  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>>  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>>  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>>  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>>  * SUCH DAMAGE.
>>  * ====================================================================
>>  *
>>  * This software consists of voluntary contributions made by many
>>  * individuals on behalf of the Apache Software Foundation.  For more
>>  * information on the Apache Software Foundation, please see
>>  * <http://www.apache.org/>.
>>  *
>>  * JellyServiceImpl.java,v 1.1 2003/01/22 09:19:30 jstrachan Exp
>>  */
>>
>> package org.apache.commons.jelly.avalon;
>>
>> import org.apache.avalon.framework.logger.Logger;
>> import org.apache.commons.logging.Log;
>>
>> /**
>>  * Implementation of commons-logging Log interface that delegates all
>>  * logging calls to Avalon logging abstraction: the Logger interface.
>>  *
>>  * @author <a href="mailto:neeme@apache.org">Neeme Praks</a>
>>  */
>> public class AvalonLogger implements Log {
>>
>>     private static Logger defaultLogger = null;
>>     private Logger logger = null;
>>
>>     /**
>>      * @param logger the avalon logger implementation to delegate to
>>      */
>>     public AvalonLogger(Logger logger) {
>>         this.logger = logger;
>>     }
>>
>>     /**
>>      * @param logger the avalon logger implementation to delegate to
>>      */
>>     public AvalonLogger(String name) {
>>         this.logger = defaultLogger.getChildLogger(name);
>>     }
>>
>>     /**
>>      * @return avalon logger implementation
>>      */
>>     public Logger getLogger() {
>>         return logger;
>>     }
>>
>>     /**
>>      * @param logger the default avalon logger, in case there is no 
>> logger instance supplied in constructor
>>      */
>>     public static void setDefaultLogger(Logger logger) {
>>         defaultLogger = logger;
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#debug(java.lang.Object, 
>> java.lang.Throwable)
>>      */
>>     public void debug(Object o, Throwable t) {
>>         if (this.logger.isDebugEnabled()) 
>> this.logger.debug(o.toString(), t);
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#debug(java.lang.Object)
>>      */
>>     public void debug(Object o) {
>>         if (this.logger.isDebugEnabled()) 
>> this.logger.debug(o.toString())
>> ;
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#error(java.lang.Object, 
>> java.lang.Throwable)
>>      */
>>     public void error(Object o, Throwable t) {
>>         if (this.logger.isErrorEnabled()) 
>> this.logger.error(o.toString(), t);
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#error(java.lang.Object)
>>      */
>>     public void error(Object o) {
>>         if (this.logger.isErrorEnabled()) 
>> this.logger.error(o.toString())
>> ;
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#fatal(java.lang.Object, 
>> java.lang.Throwable)
>>      */
>>     public void fatal(Object o, Throwable t) {
>>         if (this.logger.isFatalErrorEnabled()) 
>> this.logger.fatalError(o.toString(), t);
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#fatal(java.lang.Object)
>>      */
>>     public void fatal(Object o) {
>>         if (this.logger.isFatalErrorEnabled()) 
>> this.logger.fatalError(o.toString());
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#info(java.lang.Object, 
>> java.lang.Throwable)
>>      */
>>     public void info(Object o, Throwable t) {
>>         if (this.logger.isInfoEnabled()) 
>> this.logger.info(o.toString(), t)
>> ;
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#info(java.lang.Object)
>>      */
>>     public void info(Object o) {
>>         if (this.logger.isInfoEnabled()) this.logger.info(o.toString());
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#isDebugEnabled()
>>      */
>>     public boolean isDebugEnabled() {
>>         return this.logger.isDebugEnabled();
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#isErrorEnabled()
>>      */
>>     public boolean isErrorEnabled() {
>>         return this.logger.isErrorEnabled();
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#isFatalEnabled()
>>      */
>>     public boolean isFatalEnabled() {
>>         return this.logger.isFatalErrorEnabled();
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#isInfoEnabled()
>>      */
>>     public boolean isInfoEnabled() {
>>         return this.logger.isInfoEnabled();
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#isTraceEnabled()
>>      */
>>     public boolean isTraceEnabled() {
>>         return this.logger.isDebugEnabled();
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#isWarnEnabled()
>>      */
>>     public boolean isWarnEnabled() {
>>         return this.logger.isWarnEnabled();
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#trace(java.lang.Object, 
>> java.lang.Throwable)
>>      */
>>     public void trace(Object o, Throwable t) {
>>         if (this.logger.isDebugEnabled()) 
>> this.logger.debug(o.toString(), t);
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#trace(java.lang.Object)
>>      */
>>     public void trace(Object o) {
>>         if (this.logger.isDebugEnabled()) 
>> this.logger.debug(o.toString())
>> ;
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#warn(java.lang.Object, 
>> java.lang.Throwable)
>>      */
>>     public void warn(Object o, Throwable t) {
>>         if (this.logger.isWarnEnabled()) 
>> this.logger.warn(o.toString(), t)
>> ;
>>     }
>>
>>     /**
>>      * @see org.apache.commons.logging.Log#warn(java.lang.Object)
>>      */
>>     public void warn(Object o) {
>>         if (this.logger.isWarnEnabled()) this.logger.warn(o.toString());
>>     }
>>
>> }
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>

Re: [logging] commons logging API implementation, delegating to avalon framework logging API

Posted by robert burrell donkin <ro...@blueyonder.co.uk>.
i've committed this code (with the package corrected) and added the 
optional dependency on avalon-framework.

i don't suppose that you fancy submitting a test case or two as well?

- robert

On Thursday, May 1, 2003, at 11:22 PM, Neeme Praks wrote:

> As part of beefing up the jelly service for avalon, I wrote a dead-simple 
> wrapper for avalon logging API to be plugged into commons logging (see 
> the attachment).
> I'm not sure if this has been done before, but it was so easy to 
> implement, so I didn't bother to search very hard.
> The usage, 2 lines of code, should be executed before loading any class 
> that uses commons logging:
>        AvalonLogger.setDefaultLogger(getLogger()); //static method, for 
> passing the root logger. it is evil, but it seems to be the only 
> workaround for now
>        System.setProperty("org.apache.commons.logging.Log", 
> "org.apache.commons.jelly.avalon.AvalonLogger");
> (the package name should probably be renamed)
>
> Anyway, the question is: where should this go? The most obvious answer 
> seems to be commons-logging, right?
> Or some other ideas?
>
> Rgds,
> Neeme
>
>
> /*
>  * /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/avalon/src/java/org/
> apache/commons/jelly/avalon/JellyService.java,v 1.1 2003/01/22 09:19:30 
> jstrachan Exp
>  * 1.1
>  * 2003/01/22 09:19:30
>  *
>  * ====================================================================
>  *
>  * The Apache Software License, Version 1.1
>  *
>  * Copyright (c) 2002 The Apache Software Foundation.  All rights
>  * reserved.
>  *
>  * Redistribution and use in source and binary forms, with or without
>  * modification, are permitted provided that the following conditions
>  * are met:
>  *
>  * 1. Redistributions of source code must retain the above copyright
>  *    notice, this list of conditions and the following disclaimer.
>  *
>  * 2. Redistributions in binary form must reproduce the above copyright
>  *    notice, this list of conditions and the following disclaimer in
>  *    the documentation and/or other materials provided with the
>  *    distribution.
>  *
>  * 3. The end-user documentation included with the redistribution, if
>  *    any, must include the following acknowlegement:
>  *       "This product includes software developed by the
>  *        Apache Software Foundation (http://www.apache.org/)."
>  *    Alternately, this acknowlegement may appear in the software itself,
>  *    if and wherever such third-party acknowlegements normally appear.
>  *
>  * 4. The names "The Jakarta Project", "Commons", and "Apache Software
>  *    Foundation" must not be used to endorse or promote products derived
>  *    from this software without prior written permission. For written
>  *    permission, please contact apache@apache.org.
>  *
>  * 5. Products derived from this software may not be called "Apache"
>  *    nor may "Apache" appear in their names without prior written
>  *    permission of the Apache Group.
>  *
>  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>  * SUCH DAMAGE.
>  * ====================================================================
>  *
>  * This software consists of voluntary contributions made by many
>  * individuals on behalf of the Apache Software Foundation.  For more
>  * information on the Apache Software Foundation, please see
>  * <http://www.apache.org/>.
>  *
>  * JellyServiceImpl.java,v 1.1 2003/01/22 09:19:30 jstrachan Exp
>  */
>
> package org.apache.commons.jelly.avalon;
>
> import org.apache.avalon.framework.logger.Logger;
> import org.apache.commons.logging.Log;
>
> /**
>  * Implementation of commons-logging Log interface that delegates all
>  * logging calls to Avalon logging abstraction: the Logger interface.
>  *
>  * @author <a href="mailto:neeme@apache.org">Neeme Praks</a>
>  */
> public class AvalonLogger implements Log {
>
>     private static Logger defaultLogger = null;
>     private Logger logger = null;
>
>     /**
>      * @param logger the avalon logger implementation to delegate to
>      */
>     public AvalonLogger(Logger logger) {
>         this.logger = logger;
>     }
>
>     /**
>      * @param logger the avalon logger implementation to delegate to
>      */
>     public AvalonLogger(String name) {
>         this.logger = defaultLogger.getChildLogger(name);
>     }
>
>     /**
>      * @return avalon logger implementation
>      */
>     public Logger getLogger() {
>         return logger;
>     }
>
>     /**
>      * @param logger the default avalon logger, in case there is no 
> logger instance supplied in constructor
>      */
>     public static void setDefaultLogger(Logger logger) {
>         defaultLogger = logger;
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#debug(java.lang.Object, 
> java.lang.Throwable)
>      */
>     public void debug(Object o, Throwable t) {
>         if (this.logger.isDebugEnabled()) this.logger.debug(o.toString(), 
> t);
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#debug(java.lang.Object)
>      */
>     public void debug(Object o) {
>         if (this.logger.isDebugEnabled()) this.logger.debug(o.toString())
> ;
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#error(java.lang.Object, 
> java.lang.Throwable)
>      */
>     public void error(Object o, Throwable t) {
>         if (this.logger.isErrorEnabled()) this.logger.error(o.toString(), 
> t);
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#error(java.lang.Object)
>      */
>     public void error(Object o) {
>         if (this.logger.isErrorEnabled()) this.logger.error(o.toString())
> ;
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#fatal(java.lang.Object, 
> java.lang.Throwable)
>      */
>     public void fatal(Object o, Throwable t) {
>         if (this.logger.isFatalErrorEnabled()) 
> this.logger.fatalError(o.toString(), t);
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#fatal(java.lang.Object)
>      */
>     public void fatal(Object o) {
>         if (this.logger.isFatalErrorEnabled()) 
> this.logger.fatalError(o.toString());
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#info(java.lang.Object, 
> java.lang.Throwable)
>      */
>     public void info(Object o, Throwable t) {
>         if (this.logger.isInfoEnabled()) this.logger.info(o.toString(), t)
> ;
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#info(java.lang.Object)
>      */
>     public void info(Object o) {
>         if (this.logger.isInfoEnabled()) this.logger.info(o.toString());
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#isDebugEnabled()
>      */
>     public boolean isDebugEnabled() {
>         return this.logger.isDebugEnabled();
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#isErrorEnabled()
>      */
>     public boolean isErrorEnabled() {
>         return this.logger.isErrorEnabled();
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#isFatalEnabled()
>      */
>     public boolean isFatalEnabled() {
>         return this.logger.isFatalErrorEnabled();
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#isInfoEnabled()
>      */
>     public boolean isInfoEnabled() {
>         return this.logger.isInfoEnabled();
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#isTraceEnabled()
>      */
>     public boolean isTraceEnabled() {
>         return this.logger.isDebugEnabled();
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#isWarnEnabled()
>      */
>     public boolean isWarnEnabled() {
>         return this.logger.isWarnEnabled();
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#trace(java.lang.Object, 
> java.lang.Throwable)
>      */
>     public void trace(Object o, Throwable t) {
>         if (this.logger.isDebugEnabled()) this.logger.debug(o.toString(), 
> t);
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#trace(java.lang.Object)
>      */
>     public void trace(Object o) {
>         if (this.logger.isDebugEnabled()) this.logger.debug(o.toString())
> ;
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#warn(java.lang.Object, 
> java.lang.Throwable)
>      */
>     public void warn(Object o, Throwable t) {
>         if (this.logger.isWarnEnabled()) this.logger.warn(o.toString(), t)
> ;
>     }
>
>     /**
>      * @see org.apache.commons.logging.Log#warn(java.lang.Object)
>      */
>     public void warn(Object o) {
>         if (this.logger.isWarnEnabled()) this.logger.warn(o.toString());
>     }
>
> }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org