blob: 5ce878ec46b850f1f3dcd0acf8a97fdf0785bcf4 [file] [log] [blame]
/*
* 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;
public 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.
* @since 1.1
*/
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.
* @since 1.1
*/
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.
* @since 1.1
*/
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.
* @since 1.1
*/
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.
* @since 1.1
*/
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.
* @since 1.1
*/
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.
* @since 1.1
*/
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.
* @param thrown the throwable.
* @since 1.1
*/
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));
}
}
}