org.apache.log4j.LogXF Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of reload4j Show documentation
Show all versions of reload4j Show documentation
Reload4j revives EOLed log4j 1.x
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.log4j;
import org.apache.log4j.spi.LoggingEvent;
/**
* This is a base class for LogMF and LogSF parameterized logging classes.
*
*
* @see org.apache.log4j.LogMF
* @see org.apache.log4j.LogSF
* @since 1.2.16
*/
public abstract class LogXF {
/**
* Trace level.
*/
protected static final Level TRACE = new Level(5000, "TRACE", 7);
/**
* Fully Qualified Class Name of this class.
*/
private static final String FQCN = LogXF.class.getName();
protected LogXF() {
}
/**
* Returns a Boolean instance representing the specified boolean.
* Boolean.valueOf was added in JDK 1.4.
*
* @param b a boolean value.
* @return a Boolean instance representing b.
*/
protected static Boolean valueOf(final boolean b) {
if (b) {
return Boolean.TRUE;
}
return Boolean.FALSE;
}
/**
* Returns a Character instance representing the specified char.
* Character.valueOf was added in JDK 1.5.
*
* @param c a character value.
* @return a Character instance representing c.
*/
protected static Character valueOf(final char c) {
return new Character(c);
}
/**
* Returns a Byte instance representing the specified byte. Byte.valueOf was
* added in JDK 1.5.
*
* @param b a byte value.
* @return a Byte instance representing b.
*/
protected static Byte valueOf(final byte b) {
return new Byte(b);
}
/**
* Returns a Short instance representing the specified short. Short.valueOf was
* added in JDK 1.5.
*
* @param b a short value.
* @return a Byte instance representing b.
*/
protected static Short valueOf(final short b) {
return new Short(b);
}
/**
* Returns an Integer instance representing the specified int. Integer.valueOf
* was added in JDK 1.5.
*
* @param b an int value.
* @return an Integer instance representing b.
*/
protected static Integer valueOf(final int b) {
return new Integer(b);
}
/**
* Returns a Long instance representing the specified long. Long.valueOf was
* added in JDK 1.5.
*
* @param b a long value.
* @return a Long instance representing b.
*/
protected static Long valueOf(final long b) {
return new Long(b);
}
/**
* Returns a Float instance representing the specified float. Float.valueOf was
* added in JDK 1.5.
*
* @param b a float value.
* @return a Float instance representing b.
*/
protected static Float valueOf(final float b) {
return new Float(b);
}
/**
* Returns a Double instance representing the specified double. Double.valueOf
* was added in JDK 1.5.
*
* @param b a double value.
* @return a Byte instance representing b.
*/
protected static Double valueOf(final double b) {
return new Double(b);
}
/**
* Create new array.
*
* @param param1 parameter 1.
* @return new array.
*/
protected static Object[] toArray(final Object param1) {
return new Object[] { param1 };
}
/**
* Create new array.
*
* @param param1 parameter 1.
* @param param2 parameter 2.
* @return new array.
*/
protected static Object[] toArray(final Object param1, final Object param2) {
return new Object[] { param1, param2 };
}
/**
* Create new array.
*
* @param param1 parameter 1.
* @param param2 parameter 2.
* @param param3 parameter 3.
* @return new array.
*/
protected static Object[] toArray(final Object param1, final Object param2, final Object param3) {
return new Object[] { param1, param2, param3 };
}
/**
* Create new array.
*
* @param param1 parameter 1.
* @param param2 parameter 2.
* @param param3 parameter 3.
* @param param4 parameter 4.
* @return new array.
*/
protected static Object[] toArray(final Object param1, final Object param2, final Object param3,
final Object param4) {
return new Object[] { param1, param2, param3, param4 };
}
/**
* Log an entering message at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
*/
public static void entering(final Logger logger, final String sourceClass, final String sourceMethod) {
if (logger.isDebugEnabled()) {
logger.callAppenders(
new LoggingEvent(FQCN, logger, Level.DEBUG, sourceClass + "." + sourceMethod + " ENTRY", null));
}
}
/**
* Log an entering message with a parameter at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
* @param param parameter, may be null.
*/
public static void entering(final Logger logger, final String sourceClass, final String sourceMethod,
final String param) {
if (logger.isDebugEnabled()) {
String msg = sourceClass + "." + sourceMethod + " ENTRY " + param;
logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, msg, null));
}
}
/**
* Log an entering message with a parameter at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
* @param param parameter, may be null.
*/
public static void entering(final Logger logger, final String sourceClass, final String sourceMethod,
final Object param) {
if (logger.isDebugEnabled()) {
String msg = sourceClass + "." + sourceMethod + " ENTRY ";
if (param == null) {
msg += "null";
} else {
try {
msg += param;
} catch (Throwable ex) {
msg += "?";
}
}
logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, msg, null));
}
}
/**
* Log an entering message with an array of parameters at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
* @param params parameters, may be null.
*/
public static void entering(final Logger logger, final String sourceClass, final String sourceMethod,
final Object[] params) {
if (logger.isDebugEnabled()) {
String msg = sourceClass + "." + sourceMethod + " ENTRY ";
if (params != null && params.length > 0) {
String delim = "{";
for (int i = 0; i < params.length; i++) {
try {
msg += delim + params[i];
} catch (Throwable ex) {
msg += delim + "?";
}
delim = ",";
}
msg += "}";
} else {
msg += "{}";
}
logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, msg, null));
}
}
/**
* Log an exiting message at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
*/
public static void exiting(final Logger logger, final String sourceClass, final String sourceMethod) {
if (logger.isDebugEnabled()) {
logger.callAppenders(
new LoggingEvent(FQCN, logger, Level.DEBUG, sourceClass + "." + sourceMethod + " RETURN", null));
}
}
/**
* Log an exiting message with result at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
* @param result result, may be null.
*/
public static void exiting(final Logger logger, final String sourceClass, final String sourceMethod,
final String result) {
if (logger.isDebugEnabled()) {
logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG,
sourceClass + "." + sourceMethod + " RETURN " + result, null));
}
}
/**
* Log an exiting message with result at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
* @param result result, may be null.
*/
public static void exiting(final Logger logger, final String sourceClass, final String sourceMethod,
final Object result) {
if (logger.isDebugEnabled()) {
String msg = sourceClass + "." + sourceMethod + " RETURN ";
if (result == null) {
msg += "null";
} else {
try {
msg += result;
} catch (Throwable ex) {
msg += "?";
}
}
logger.callAppenders(new LoggingEvent(FQCN, logger, Level.DEBUG, msg, null));
}
}
/**
* Logs a throwing message at DEBUG level.
*
* @param logger logger, may not be null.
* @param sourceClass source class, may be null.
* @param sourceMethod method, may be null.
* @param thrown throwable, may be null.
*/
public static void throwing(final Logger logger, final String sourceClass, final String sourceMethod,
final Throwable thrown) {
if (logger.isDebugEnabled()) {
logger.callAppenders(
new LoggingEvent(FQCN, logger, Level.DEBUG, sourceClass + "." + sourceMethod + " THROW", thrown));
}
}
}