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

org.apache.geode.LogWriter Maven / Gradle / Ivy

Go to download

Apache Geode provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing

There is a newer version: 1.15.1
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.geode;

import java.util.logging.Handler;

import org.apache.geode.distributed.DistributedSystem;
import org.apache.geode.i18n.LogWriterI18n;

/**
 * Defines methods available to clients that want to write a log message to their GemFire
 * distributed system log file.
 * 

* Instances of this interface can be obtained by calling {@link DistributedSystem#getLogWriter}. *

* For any logged message the log file will contain: *

    *
  • The message's level. *
  • The time the message was logged. *
  • The id of the thread that logged the message. *
  • The message itself which can be a string and/or an exception including the exception's stack * trace. *
*

* A message always has a level. Logging levels are ordered. Enabling logging at a given level also * enables logging at higher levels. The higher the level the more important and urgent the message. *

* The levels, in descending order, are: *

    *
  • severe (highest value) is a message level indicating a serious failure. In * general severe messages should describe events that are of considerable importance * and which will prevent normal program execution. They should be reasonably intelligible to end * users and to information managers. *
  • error In general error messages should describe events that are of * considerable importance but will not prevent normal program execution. They should be reasonably * intelligible to end users and to information managers. They are weaker than severe * and stronger than warning. *
  • warning is a message level indicating a potential problem. In general * warning messages should describe events that will be of interest to end users or * information managers, or which indicate potential problems. *
  • info is a message level for informational messages. Typically info * messages should be reasonably significant and should make sense to end users and system * administrators. *
  • config is a message level for static configuration messages. config * messages are intended to provide a variety of static configuration information, to assist in * debugging problems that may be associated with particular configurations. *
  • fine is a message level providing tracing information. In general the * fine level should be used for information that will be broadly interesting to * developers. This level is for the lowest volume, and most important, tracing messages. *
  • finer indicates a fairly detailed tracing message. Logging calls for entering, * returning, or throwing an exception are traced at the finer level. *
  • finest (lowest value) indicates a highly detailed tracing message. In general * the finest level should be used for the most voluminous detailed tracing messages. *
*

* For each level methods exist that will request a message, at that level, to be logged. These * methods are all named after their level. *

* For each level a method exists that returns a boolean indicating if messages at that level will * currently be logged. The names of these methods are of the form: * levelEnabled. * * @deprecated Please use Log4J2 instead. */ @Deprecated public interface LogWriter { /** * Returns true if "severe" log messages are enabled. Returns false if "severe" log messages are * disabled. */ boolean severeEnabled(); /** * Writes both a message and exception to this writer. The message level is "severe". */ void severe(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "severe". */ void severe(String message); /** * Writes an exception to this writer. The exception level is "severe". */ void severe(Throwable throwable); /** * Returns true if "error" log messages are enabled. Returns false if "error" log messages are * disabled. */ boolean errorEnabled(); /** * Writes both a message and exception to this writer. The message level is "error". */ void error(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "error". */ void error(String message); /** * Writes an exception to this writer. The exception level is "error". */ void error(Throwable throwable); /** * Returns true if "warning" log messages are enabled. Returns false if "warning" log messages are * disabled. */ boolean warningEnabled(); /** * Writes both a message and exception to this writer. The message level is "warning". */ void warning(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "warning". */ void warning(String message); /** * Writes an exception to this writer. The exception level is "warning". */ void warning(Throwable throwable); /** * Returns true if "info" log messages are enabled. Returns false if "info" log messages are * disabled. */ boolean infoEnabled(); /** * Writes both a message and exception to this writer. The message level is "information". */ void info(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "information". */ void info(String message); /** * Writes an exception to this writer. The exception level is "information". */ void info(Throwable throwable); /** * Returns true if "config" log messages are enabled. Returns false if "config" log messages are * disabled. */ boolean configEnabled(); /** * Writes both a message and exception to this writer. The message level is "config". */ void config(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "config". */ void config(String message); /** * Writes an exception to this writer. The exception level is "config". */ void config(Throwable throwable); /** * Returns true if "fine" log messages are enabled. Returns false if "fine" log messages are * disabled. */ boolean fineEnabled(); /** * Writes both a message and exception to this writer. The message level is "fine". */ void fine(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "fine". */ void fine(String message); /** * Writes an exception to this writer. The exception level is "fine". */ void fine(Throwable throwable); /** * Returns true if "finer" log messages are enabled. Returns false if "finer" log messages are * disabled. */ boolean finerEnabled(); /** * Writes both a message and exception to this writer. The message level is "finer". */ void finer(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "finer". */ void finer(String message); /** * Writes an exception to this writer. The exception level is "finer". */ void finer(Throwable throwable); /** * Log a method entry. *

* The logging is done using the finer level. The string message will start with * "ENTRY" and include the class and method names. * * @param sourceClass Name of class that issued the logging request. * @param sourceMethod Name of the method that issued the logging request. */ void entering(String sourceClass, String sourceMethod); /** * Log a method return. *

* The logging is done using the finer level. The string message will start with * "RETURN" and include the class and method names. * * @param sourceClass Name of class that issued the logging request. * @param sourceMethod Name of the method that issued the logging request. */ void exiting(String sourceClass, String sourceMethod); /** * Log throwing an exception. *

* Use to log that a method is terminating by throwing an exception. The logging is done using the * finer level. *

* This is a convenience method that could be done instead by calling * {@link #finer(String, Throwable)}. The string message will start with "THROW" and * include the class and method names. * * @param sourceClass Name of class that issued the logging request. * @param sourceMethod Name of the method that issued the logging request. * @param thrown The Throwable that is being thrown. */ void throwing(String sourceClass, String sourceMethod, Throwable thrown); /** * Returns true if "finest" log messages are enabled. Returns false if "finest" log messages are * disabled. */ boolean finestEnabled(); /** * Writes both a message and exception to this writer. The message level is "finest". */ void finest(String message, Throwable throwable); /** * Writes a message to this writer. The message level is "finest". */ void finest(String message); /** * Writes an exception to this writer. The exception level is "finest". */ void finest(Throwable throwable); /** * Returns a 1.4 logging handler that can be used to direct application output to this GemFire * logger using the standard JDK logger APIs. Each time this method is called it creates a new * instance of a Handler so care should be taken to not call this method too often. */ Handler getHandler(); /** * A mechanism for accessing the abstraction layer used for internationalization. */ LogWriterI18n convertToLogWriterI18n(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy