All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.log4j.helpers.LogLog Maven / Gradle / Ivy

There is a newer version: 6.1.3
Show newest version
/*
 * 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.helpers;

/**
 * This class used to output log statements from within the log4j package.
 *
 * 

* Log4j components cannot make log4j logging calls. However, it is sometimes useful for the user to learn about what * log4j is doing. You can enable log4j internal logging by defining the log4j.configDebug variable. * *

* All log4j internal debug calls go to System.out where as internal error messages are sent to * System.err. All internal messages are prepended with the string "log4j: ". * * @author Ceki Gülcü * @since 0.8.2 */ public class LogLog { /** * Defining this value makes log4j print log4j-internal debug statements to * System.out. * *

* The value of this string is log4j.debug. * *

* Note that the search for all option names is case sensitive. */ public static final String DEBUG_KEY = "log4j.debug"; /** * Defining this value makes log4j components print log4j-internal debug statements to System.out. * *

* The value of this string is log4j.configDebug. * *

* Note that the search for all option names is case sensitive. * * @deprecated Use {@link #DEBUG_KEY} instead. */ public static final String CONFIG_DEBUG_KEY = "log4j.configDebug"; protected static boolean debugEnabled = false; /** * In quietMode not even errors generate any output. */ private static boolean quietMode = false; private static final String PREFIX = "log4j: "; private static final String ERR_PREFIX = "log4j:ERROR "; private static final String WARN_PREFIX = "log4j:WARN "; static { String key = OptionConverter.getSystemProperty(DEBUG_KEY, null); if (key == null) { key = OptionConverter.getSystemProperty(CONFIG_DEBUG_KEY, null); } if (key != null) { debugEnabled = OptionConverter.toBoolean(key, true); } } /** * Allows to enable/disable log4j internal logging. */ static public void setInternalDebugging(boolean enabled) { debugEnabled = enabled; } /** * This method is used to output log4j internal debug statements. Output goes to * System.out. */ public static void debug(String msg) { if (debugEnabled && !quietMode) { System.out.println(PREFIX + msg); } } /** * This method is used to output log4j internal debug statements. Output goes to * System.out. */ public static void debug(String msg, Throwable t) { if (debugEnabled && !quietMode) { System.out.println(PREFIX + msg); if (t != null) t.printStackTrace(System.out); } } /** * This method is used to output log4j internal error statements. There is no way to disable error statements. * Output goes to System.err. */ public static void error(String msg) { if (quietMode) return; System.err.println(ERR_PREFIX + msg); } /** * This method is used to output log4j internal error statements. There is no way to disable error statements. * Output goes to System.err. */ public static void error(String msg, Throwable t) { if (quietMode) return; System.err.println(ERR_PREFIX + msg); if (t != null) { t.printStackTrace(); } } /** * In quite mode no LogLog generates strictly no output, not even for errors. * * @param quietMode A true for not */ public static void setQuietMode(boolean quietMode) { LogLog.quietMode = quietMode; } /** * This method is used to output log4j internal warning statements. There is no way to disable warning statements. * Output goes to System.err. */ public static void warn(String msg) { if (quietMode) return; System.err.println(WARN_PREFIX + msg); } /** * This method is used to output log4j internal warnings. There is no way to disable warning statements. Output goes * to System.err. */ public static void warn(String msg, Throwable t) { if (quietMode) return; System.err.println(WARN_PREFIX + msg); if (t != null) { t.printStackTrace(); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy