Removed runtime dependency from commons logging.
Now the PoiLogFactory will try to create a logger using the System property named "org.apache.poi.util.POILogger". If it fails, the NullLogger is used. There is also a basic SystemOutLogger and the former CommonsLogger. Haven't checked the code that much, but it compiles and POI works. git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352672 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7e29ec9141
commit
e27d8be5e1
191
src/java/org/apache/poi/util/CommonsLogger.java
Normal file
191
src/java/org/apache/poi/util/CommonsLogger.java
Normal file
@ -0,0 +1,191 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* ====================================================================
|
||||||
|
* 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 acknowledgment:
|
||||||
|
* "This product includes software developed by the
|
||||||
|
* Apache Software Foundation (http://www.apache.org/)."
|
||||||
|
* Alternately, this acknowledgment may appear in the software itself,
|
||||||
|
* if and wherever such third-party acknowledgments normally appear.
|
||||||
|
*
|
||||||
|
* 4. The names "Apache" and "Apache Software Foundation" and
|
||||||
|
* "Apache POI" 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",
|
||||||
|
* "Apache POI", nor may "Apache" appear in their name, without
|
||||||
|
* prior written permission of the Apache Software Foundation.
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
package org.apache.poi.util;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A logger class that strives to make it as easy as possible for
|
||||||
|
* developers to write log calls, while simultaneously making those
|
||||||
|
* calls as cheap as possible by performing lazy evaluation of the log
|
||||||
|
* message.<p>
|
||||||
|
*
|
||||||
|
* @author Marc Johnson (mjohnson at apache dot org)
|
||||||
|
* @author Glen Stampoultzis (glens at apache.org)
|
||||||
|
* @author Nicola Ken Barozzi (nicolaken at apache.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class CommonsLogger extends POILogger
|
||||||
|
{
|
||||||
|
|
||||||
|
private static LogFactory _creator = LogFactory.getFactory();
|
||||||
|
private Log log = null;
|
||||||
|
|
||||||
|
|
||||||
|
public void initialize(final String cat)
|
||||||
|
{
|
||||||
|
this.log = _creator.getInstance(cat);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The object to log.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1)
|
||||||
|
{
|
||||||
|
if(level==FATAL)
|
||||||
|
{
|
||||||
|
if(log.isFatalEnabled())
|
||||||
|
{
|
||||||
|
log.fatal(obj1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==ERROR)
|
||||||
|
{
|
||||||
|
if(log.isErrorEnabled())
|
||||||
|
{
|
||||||
|
log.error(obj1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==WARN)
|
||||||
|
{
|
||||||
|
if(log.isWarnEnabled())
|
||||||
|
{
|
||||||
|
log.warn(obj1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==INFO)
|
||||||
|
{
|
||||||
|
if(log.isInfoEnabled())
|
||||||
|
{
|
||||||
|
log.info(obj1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==DEBUG)
|
||||||
|
{
|
||||||
|
if(log.isDebugEnabled())
|
||||||
|
{
|
||||||
|
log.debug(obj1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(log.isTraceEnabled())
|
||||||
|
{
|
||||||
|
log.trace(obj1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a logger is enabled to log at the specified level
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The logger to check.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public boolean check(final int level)
|
||||||
|
{
|
||||||
|
if(level==FATAL)
|
||||||
|
{
|
||||||
|
if(log.isFatalEnabled())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==ERROR)
|
||||||
|
{
|
||||||
|
if(log.isErrorEnabled())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==WARN)
|
||||||
|
{
|
||||||
|
if(log.isWarnEnabled())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==INFO)
|
||||||
|
{
|
||||||
|
if(log.isInfoEnabled())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(level==DEBUG)
|
||||||
|
{
|
||||||
|
if(log.isDebugEnabled())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // end package scope class POILogger
|
||||||
|
|
503
src/java/org/apache/poi/util/NullLogger.java
Normal file
503
src/java/org/apache/poi/util/NullLogger.java
Normal file
@ -0,0 +1,503 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* ====================================================================
|
||||||
|
* 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 acknowledgment:
|
||||||
|
* "This product includes software developed by the
|
||||||
|
* Apache Software Foundation (http://www.apache.org/)."
|
||||||
|
* Alternately, this acknowledgment may appear in the software itself,
|
||||||
|
* if and wherever such third-party acknowledgments normally appear.
|
||||||
|
*
|
||||||
|
* 4. The names "Apache" and "Apache Software Foundation" and
|
||||||
|
* "Apache POI" 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",
|
||||||
|
* "Apache POI", nor may "Apache" appear in their name, without
|
||||||
|
* prior written permission of the Apache Software Foundation.
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
package org.apache.poi.util;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A logger class that strives to make it as easy as possible for
|
||||||
|
* developers to write log calls, while simultaneously making those
|
||||||
|
* calls as cheap as possible by performing lazy evaluation of the log
|
||||||
|
* message.<p>
|
||||||
|
*
|
||||||
|
* @author Marc Johnson (mjohnson at apache dot org)
|
||||||
|
* @author Glen Stampoultzis (glens at apache.org)
|
||||||
|
* @author Nicola Ken Barozzi (nicolaken at apache.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class NullLogger extends POILogger
|
||||||
|
{
|
||||||
|
public void initialize(final String cat)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The object to log.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a logger is enabled to log at the specified level
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The logger to check.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public boolean check(final int level)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first object to place in the message
|
||||||
|
* @param obj2 second object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third Object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third Object to place in the message
|
||||||
|
* @param obj4 fourth Object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third Object to place in the message
|
||||||
|
* @param obj4 fourth Object to place in the message
|
||||||
|
* @param obj5 fifth Object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third Object to place in the message
|
||||||
|
* @param obj4 fourth Object to place in the message
|
||||||
|
* @param obj5 fifth Object to place in the message
|
||||||
|
* @param obj6 sixth Object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Object obj6)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third Object to place in the message
|
||||||
|
* @param obj4 fourth Object to place in the message
|
||||||
|
* @param obj5 fifth Object to place in the message
|
||||||
|
* @param obj6 sixth Object to place in the message
|
||||||
|
* @param obj7 seventh Object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Object obj6, final Object obj7)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third Object to place in the message
|
||||||
|
* @param obj4 fourth Object to place in the message
|
||||||
|
* @param obj5 fifth Object to place in the message
|
||||||
|
* @param obj6 sixth Object to place in the message
|
||||||
|
* @param obj7 seventh Object to place in the message
|
||||||
|
* @param obj8 eighth Object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Object obj6, final Object obj7, final Object obj8)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The object to log. This is converted to a string.
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1,
|
||||||
|
final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third object to place in the message
|
||||||
|
* @param exception An error message to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third object to place in the message
|
||||||
|
* @param obj4 fourth object to place in the message
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4,
|
||||||
|
final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third object to place in the message
|
||||||
|
* @param obj4 fourth object to place in the message
|
||||||
|
* @param obj5 fifth object to place in the message
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third object to place in the message
|
||||||
|
* @param obj4 fourth object to place in the message
|
||||||
|
* @param obj5 fifth object to place in the message
|
||||||
|
* @param obj6 sixth object to place in the message
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Object obj6, final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third object to place in the message
|
||||||
|
* @param obj4 fourth object to place in the message
|
||||||
|
* @param obj5 fifth object to place in the message
|
||||||
|
* @param obj6 sixth object to place in the message
|
||||||
|
* @param obj7 seventh object to place in the message
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Object obj6, final Object obj7,
|
||||||
|
final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first Object to place in the message
|
||||||
|
* @param obj2 second Object to place in the message
|
||||||
|
* @param obj3 third object to place in the message
|
||||||
|
* @param obj4 fourth object to place in the message
|
||||||
|
* @param obj5 fifth object to place in the message
|
||||||
|
* @param obj6 sixth object to place in the message
|
||||||
|
* @param obj7 seventh object to place in the message
|
||||||
|
* @param obj8 eighth object to place in the message
|
||||||
|
* @param exception An exception to be logged
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4, final Object obj5,
|
||||||
|
final Object obj6, final Object obj7, final Object obj8,
|
||||||
|
final Throwable exception)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs a formated message. The message itself may contain %
|
||||||
|
* characters as place holders. This routine will attempt to match
|
||||||
|
* the placeholder by looking at the type of parameter passed to
|
||||||
|
* obj1.<p>
|
||||||
|
*
|
||||||
|
* If the parameter is an array, it traverses the array first and
|
||||||
|
* matches parameters sequentially against the array items.
|
||||||
|
* Otherwise the parameters after <code>message</code> are matched
|
||||||
|
* in order.<p>
|
||||||
|
*
|
||||||
|
* If the place holder matches against a number it is printed as a
|
||||||
|
* whole number. This can be overridden by specifying a precision
|
||||||
|
* in the form %n.m where n is the padding for the whole part and
|
||||||
|
* m is the number of decimal places to display. n can be excluded
|
||||||
|
* if desired. n and m may not be more than 9.<p>
|
||||||
|
*
|
||||||
|
* If the last parameter (after flattening) is a Throwable it is
|
||||||
|
* logged specially.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param message The message to log.
|
||||||
|
* @param obj1 The first object to match against.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void logFormatted(final int level, final String message,
|
||||||
|
final Object obj1)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs a formated message. The message itself may contain %
|
||||||
|
* characters as place holders. This routine will attempt to match
|
||||||
|
* the placeholder by looking at the type of parameter passed to
|
||||||
|
* obj1.<p>
|
||||||
|
*
|
||||||
|
* If the parameter is an array, it traverses the array first and
|
||||||
|
* matches parameters sequentially against the array items.
|
||||||
|
* Otherwise the parameters after <code>message</code> are matched
|
||||||
|
* in order.<p>
|
||||||
|
*
|
||||||
|
* If the place holder matches against a number it is printed as a
|
||||||
|
* whole number. This can be overridden by specifying a precision
|
||||||
|
* in the form %n.m where n is the padding for the whole part and
|
||||||
|
* m is the number of decimal places to display. n can be excluded
|
||||||
|
* if desired. n and m may not be more than 9.<p>
|
||||||
|
*
|
||||||
|
* If the last parameter (after flattening) is a Throwable it is
|
||||||
|
* logged specially.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param message The message to log.
|
||||||
|
* @param obj1 The first object to match against.
|
||||||
|
* @param obj2 The second object to match against.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void logFormatted(final int level, final String message,
|
||||||
|
final Object obj1, final Object obj2)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs a formated message. The message itself may contain %
|
||||||
|
* characters as place holders. This routine will attempt to match
|
||||||
|
* the placeholder by looking at the type of parameter passed to
|
||||||
|
* obj1.<p>
|
||||||
|
*
|
||||||
|
* If the parameter is an array, it traverses the array first and
|
||||||
|
* matches parameters sequentially against the array items.
|
||||||
|
* Otherwise the parameters after <code>message</code> are matched
|
||||||
|
* in order.<p>
|
||||||
|
*
|
||||||
|
* If the place holder matches against a number it is printed as a
|
||||||
|
* whole number. This can be overridden by specifying a precision
|
||||||
|
* in the form %n.m where n is the padding for the whole part and
|
||||||
|
* m is the number of decimal places to display. n can be excluded
|
||||||
|
* if desired. n and m may not be more than 9.<p>
|
||||||
|
*
|
||||||
|
* If the last parameter (after flattening) is a Throwable it is
|
||||||
|
* logged specially.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param message The message to log.
|
||||||
|
* @param obj1 The first object to match against.
|
||||||
|
* @param obj2 The second object to match against.
|
||||||
|
* @param obj3 The third object to match against.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void logFormatted(final int level, final String message,
|
||||||
|
final Object obj1, final Object obj2,
|
||||||
|
final Object obj3)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Logs a formated message. The message itself may contain %
|
||||||
|
* characters as place holders. This routine will attempt to match
|
||||||
|
* the placeholder by looking at the type of parameter passed to
|
||||||
|
* obj1.<p>
|
||||||
|
*
|
||||||
|
* If the parameter is an array, it traverses the array first and
|
||||||
|
* matches parameters sequentially against the array items.
|
||||||
|
* Otherwise the parameters after <code>message</code> are matched
|
||||||
|
* in order.<p>
|
||||||
|
*
|
||||||
|
* If the place holder matches against a number it is printed as a
|
||||||
|
* whole number. This can be overridden by specifying a precision
|
||||||
|
* in the form %n.m where n is the padding for the whole part and
|
||||||
|
* m is the number of decimal places to display. n can be excluded
|
||||||
|
* if desired. n and m may not be more than 9.<p>
|
||||||
|
*
|
||||||
|
* If the last parameter (after flattening) is a Throwable it is
|
||||||
|
* logged specially.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param message The message to log.
|
||||||
|
* @param obj1 The first object to match against.
|
||||||
|
* @param obj2 The second object to match against.
|
||||||
|
* @param obj3 The third object to match against.
|
||||||
|
* @param obj4 The forth object to match against.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void logFormatted(final int level, final String message,
|
||||||
|
final Object obj1, final Object obj2,
|
||||||
|
final Object obj3, final Object obj4)
|
||||||
|
{
|
||||||
|
//do nothing
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -60,8 +60,6 @@ import java.io.IOException;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import org.apache.commons.logging.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides logging without clients having to mess with
|
* Provides logging without clients having to mess with
|
||||||
* configuration/initialization.
|
* configuration/initialization.
|
||||||
@ -73,7 +71,6 @@ import org.apache.commons.logging.*;
|
|||||||
|
|
||||||
public class POILogFactory
|
public class POILogFactory
|
||||||
{
|
{
|
||||||
private static LogFactory _creator = LogFactory.getFactory();
|
|
||||||
|
|
||||||
// map of POILogger instances, with classes as keys
|
// map of POILogger instances, with classes as keys
|
||||||
private static Map _loggers = new HashMap();;
|
private static Map _loggers = new HashMap();;
|
||||||
@ -118,7 +115,18 @@ public class POILogFactory
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logger = new POILogger(_creator.getInstance(cat));
|
try{
|
||||||
|
String loggerClassName = System.getProperty("org.apache.poi.util.POILogger");
|
||||||
|
Class loggerClass = Class.forName(loggerClassName);
|
||||||
|
logger = ( POILogger ) loggerClass.newInstance();
|
||||||
|
}
|
||||||
|
catch(Exception e){
|
||||||
|
|
||||||
|
logger = new NullLogger();
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.initialize(cat);
|
||||||
|
|
||||||
_loggers.put(cat, logger);
|
_loggers.put(cat, logger);
|
||||||
}
|
}
|
||||||
return logger;
|
return logger;
|
||||||
|
@ -55,12 +55,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.poi.util;
|
package org.apache.poi.util;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A logger class that strives to make it as easy as possible for
|
* A logger interface that strives to make it as easy as possible for
|
||||||
* developers to write log calls, while simultaneously making those
|
* developers to write log calls, while simultaneously making those
|
||||||
* calls as cheap as possible by performing lazy evaluation of the log
|
* calls as cheap as possible by performing lazy evaluation of the log
|
||||||
* message.<p>
|
* message.<p>
|
||||||
@ -70,9 +68,9 @@ import java.util.*;
|
|||||||
* @author Nicola Ken Barozzi (nicolaken at apache.org)
|
* @author Nicola Ken Barozzi (nicolaken at apache.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class POILogger
|
public abstract class POILogger
|
||||||
{
|
{
|
||||||
private Log log = null;
|
|
||||||
public static final int DEBUG = 1;
|
public static final int DEBUG = 1;
|
||||||
public static final int INFO = 3;
|
public static final int INFO = 3;
|
||||||
public static final int WARN = 5;
|
public static final int WARN = 5;
|
||||||
@ -85,65 +83,12 @@ public class POILogger
|
|||||||
*
|
*
|
||||||
* @param log the object that does the real work of logging
|
* @param log the object that does the real work of logging
|
||||||
*/
|
*/
|
||||||
|
POILogger()
|
||||||
POILogger(final Log log)
|
{}
|
||||||
{
|
|
||||||
this.log = log;
|
abstract public void initialize(final String cat);
|
||||||
}
|
|
||||||
|
abstract public void log(final int level, final Object obj1);
|
||||||
/**
|
|
||||||
* Log a message
|
|
||||||
*
|
|
||||||
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
|
||||||
* @param obj1 The object to log.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public void log(final int level, final Object obj1)
|
|
||||||
{
|
|
||||||
if(level==FATAL)
|
|
||||||
{
|
|
||||||
if(log.isFatalEnabled())
|
|
||||||
{
|
|
||||||
log.fatal(obj1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==ERROR)
|
|
||||||
{
|
|
||||||
if(log.isErrorEnabled())
|
|
||||||
{
|
|
||||||
log.error(obj1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==WARN)
|
|
||||||
{
|
|
||||||
if(log.isWarnEnabled())
|
|
||||||
{
|
|
||||||
log.warn(obj1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==INFO)
|
|
||||||
{
|
|
||||||
if(log.isInfoEnabled())
|
|
||||||
{
|
|
||||||
log.info(obj1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==DEBUG)
|
|
||||||
{
|
|
||||||
if(log.isDebugEnabled())
|
|
||||||
{
|
|
||||||
log.debug(obj1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(log.isTraceEnabled())
|
|
||||||
{
|
|
||||||
log.trace(obj1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a logger is enabled to log at the specified level
|
* Check if a logger is enabled to log at the specified level
|
||||||
@ -151,48 +96,7 @@ public class POILogger
|
|||||||
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
* @param obj1 The logger to check.
|
* @param obj1 The logger to check.
|
||||||
*/
|
*/
|
||||||
|
abstract public boolean check(final int level);
|
||||||
public boolean check(final Log log, final int level)
|
|
||||||
{
|
|
||||||
if(level==FATAL)
|
|
||||||
{
|
|
||||||
if(log.isFatalEnabled())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==ERROR)
|
|
||||||
{
|
|
||||||
if(log.isErrorEnabled())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==WARN)
|
|
||||||
{
|
|
||||||
if(log.isWarnEnabled())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==INFO)
|
|
||||||
{
|
|
||||||
if(log.isInfoEnabled())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if(level==DEBUG)
|
|
||||||
{
|
|
||||||
if(log.isDebugEnabled())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log a message. Lazily appends Object parameters together.
|
* Log a message. Lazily appends Object parameters together.
|
||||||
@ -202,9 +106,17 @@ public class POILogger
|
|||||||
* @param obj2 second object to place in the message
|
* @param obj2 second object to place in the message
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message. Lazily appends Object parameters together.
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 first object to place in the message
|
||||||
|
* @param obj2 second object to place in the message
|
||||||
|
*/
|
||||||
|
|
||||||
public void log(final int level, final Object obj1, final Object obj2)
|
public void log(final int level, final Object obj1, final Object obj2)
|
||||||
{
|
{
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(32).append(obj1).append(obj2));
|
log(level, new StringBuffer(32).append(obj1).append(obj2));
|
||||||
}
|
}
|
||||||
@ -224,7 +136,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level,
|
log(level,
|
||||||
new StringBuffer(48).append(obj1).append(obj2)
|
new StringBuffer(48).append(obj1).append(obj2)
|
||||||
@ -247,7 +159,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level,
|
log(level,
|
||||||
new StringBuffer(64).append(obj1).append(obj2)
|
new StringBuffer(64).append(obj1).append(obj2)
|
||||||
@ -271,7 +183,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level,
|
log(level,
|
||||||
new StringBuffer(80).append(obj1).append(obj2)
|
new StringBuffer(80).append(obj1).append(obj2)
|
||||||
@ -297,7 +209,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level ,
|
log(level ,
|
||||||
new StringBuffer(96).append(obj1).append(obj2)
|
new StringBuffer(96).append(obj1).append(obj2)
|
||||||
@ -324,7 +236,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level,
|
log(level,
|
||||||
new StringBuffer(112).append(obj1).append(obj2)
|
new StringBuffer(112).append(obj1).append(obj2)
|
||||||
@ -353,7 +265,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level,
|
log(level,
|
||||||
new StringBuffer(128).append(obj1).append(obj2)
|
new StringBuffer(128).append(obj1).append(obj2)
|
||||||
@ -390,7 +302,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(32).append(obj1).append(obj2),
|
log(level, new StringBuffer(32).append(obj1).append(obj2),
|
||||||
exception);
|
exception);
|
||||||
@ -412,7 +324,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(48).append(obj1).append(obj2)
|
log(level, new StringBuffer(48).append(obj1).append(obj2)
|
||||||
.append(obj3), exception);
|
.append(obj3), exception);
|
||||||
@ -436,7 +348,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(64).append(obj1).append(obj2)
|
log(level, new StringBuffer(64).append(obj1).append(obj2)
|
||||||
.append(obj3).append(obj4), exception);
|
.append(obj3).append(obj4), exception);
|
||||||
@ -461,7 +373,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(80).append(obj1).append(obj2)
|
log(level, new StringBuffer(80).append(obj1).append(obj2)
|
||||||
.append(obj3).append(obj4).append(obj5), exception);
|
.append(obj3).append(obj4).append(obj5), exception);
|
||||||
@ -487,7 +399,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level , new StringBuffer(96).append(obj1)
|
log(level , new StringBuffer(96).append(obj1)
|
||||||
.append(obj2).append(obj3).append(obj4).append(obj5)
|
.append(obj2).append(obj3).append(obj4).append(obj5)
|
||||||
@ -516,7 +428,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(112).append(obj1).append(obj2)
|
log(level, new StringBuffer(112).append(obj1).append(obj2)
|
||||||
.append(obj3).append(obj4).append(obj5).append(obj6)
|
.append(obj3).append(obj4).append(obj5).append(obj6)
|
||||||
@ -546,7 +458,7 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
log(level, new StringBuffer(128).append(obj1).append(obj2)
|
log(level, new StringBuffer(128).append(obj1).append(obj2)
|
||||||
.append(obj3).append(obj4).append(obj5).append(obj6)
|
.append(obj3).append(obj4).append(obj5).append(obj6)
|
||||||
@ -696,14 +608,14 @@ public class POILogger
|
|||||||
{
|
{
|
||||||
obj1, obj2, obj3, obj4
|
obj1, obj2, obj3, obj4
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void commonLogFormatted(final int level, final String message,
|
private void commonLogFormatted(final int level, final String message,
|
||||||
final Object [] unflatParams)
|
final Object [] unflatParams)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if (check(log, level))
|
if (check(level))
|
||||||
{
|
{
|
||||||
Object[] params = flattenArrays(unflatParams);
|
Object[] params = flattenArrays(unflatParams);
|
||||||
|
|
||||||
@ -816,5 +728,6 @@ public class POILogger
|
|||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
} // end package scope class POILogger
|
|
||||||
|
} // end package scope abstract class POILogger
|
||||||
|
|
||||||
|
108
src/java/org/apache/poi/util/SystemOutLogger.java
Normal file
108
src/java/org/apache/poi/util/SystemOutLogger.java
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* ====================================================================
|
||||||
|
* 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 acknowledgment:
|
||||||
|
* "This product includes software developed by the
|
||||||
|
* Apache Software Foundation (http://www.apache.org/)."
|
||||||
|
* Alternately, this acknowledgment may appear in the software itself,
|
||||||
|
* if and wherever such third-party acknowledgments normally appear.
|
||||||
|
*
|
||||||
|
* 4. The names "Apache" and "Apache Software Foundation" and
|
||||||
|
* "Apache POI" 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",
|
||||||
|
* "Apache POI", nor may "Apache" appear in their name, without
|
||||||
|
* prior written permission of the Apache Software Foundation.
|
||||||
|
*
|
||||||
|
* 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/>.
|
||||||
|
*/
|
||||||
|
package org.apache.poi.util;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A logger class that strives to make it as easy as possible for
|
||||||
|
* developers to write log calls, while simultaneously making those
|
||||||
|
* calls as cheap as possible by performing lazy evaluation of the log
|
||||||
|
* message.<p>
|
||||||
|
*
|
||||||
|
* @author Marc Johnson (mjohnson at apache dot org)
|
||||||
|
* @author Glen Stampoultzis (glens at apache.org)
|
||||||
|
* @author Nicola Ken Barozzi (nicolaken at apache.org)
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class SystemOutLogger extends POILogger
|
||||||
|
{
|
||||||
|
private String cat;
|
||||||
|
|
||||||
|
public void initialize(final String cat)
|
||||||
|
{
|
||||||
|
this.cat=cat;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Log a message
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The object to log.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public void log(final int level, final Object obj1)
|
||||||
|
{
|
||||||
|
System.out.println("["+cat+"] "+obj1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if a logger is enabled to log at the specified level
|
||||||
|
*
|
||||||
|
* @param level One of DEBUG, INFO, WARN, ERROR, FATAL
|
||||||
|
* @param obj1 The logger to check.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public boolean check(final int level)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // end package scope class POILogger
|
||||||
|
|
Loading…
Reference in New Issue
Block a user