X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Forg%2Fapache%2Flog4j%2Fspi%2FLoggerRepository.java;fp=srcjar%2Forg%2Fapache%2Flog4j%2Fspi%2FLoggerRepository.java;h=9ca156b86adae2186a36216328c97b6f8db53b7c;hb=2d6292c0377bc6b773c6844a45d3f2c5fac352c7;hp=0000000000000000000000000000000000000000;hpb=954af328a2a6a0055572cd1a09ee035301222574;p=jalview.git diff --git a/srcjar/org/apache/log4j/spi/LoggerRepository.java b/srcjar/org/apache/log4j/spi/LoggerRepository.java new file mode 100644 index 0000000..9ca156b --- /dev/null +++ b/srcjar/org/apache/log4j/spi/LoggerRepository.java @@ -0,0 +1,110 @@ +/* + * 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.spi; + +import java.util.Enumeration; + +import org.apache.log4j.Appender; +import org.apache.log4j.Category; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; + +/** + A LoggerRepository is used to create and retrieve + Loggers. The relation between loggers in a repository + depends on the repository but typically loggers are arranged in a + named hierarchy. + +

In addition to the creational methods, a + LoggerRepository can be queried for existing loggers, + can act as a point of registry for events related to loggers. + + @author Ceki Gülcü + @since 1.2 */ +public interface LoggerRepository { + + /** + Add a {@link HierarchyEventListener} event to the repository. + */ + public + void addHierarchyEventListener(HierarchyEventListener listener); + + /** + Returns whether this repository is disabled for a given + level. The answer depends on the repository threshold and the + level parameter. See also {@link #setThreshold} + method. */ + boolean isDisabled(int level); + + /** + Set the repository-wide threshold. All logging requests below the + threshold are immediately dropped. By default, the threshold is + set to Level.ALL which has the lowest possible rank. */ + public + void setThreshold(Level level); + + /** + Another form of {@link #setThreshold(Level)} accepting a string + parameter instead of a Level. */ + public + void setThreshold(String val); + + public + void emitNoAppenderWarning(Category cat); + + /** + Get the repository-wide threshold. See {@link + #setThreshold(Level)} for an explanation. */ + public + Level getThreshold(); + + public + Logger getLogger(String name); + + public + Logger getLogger(String name, LoggerFactory factory); + + public + Logger getRootLogger(); + + public + abstract + Logger exists(String name); + + public + abstract + void shutdown(); + + public + Enumeration getCurrentLoggers(); + + /** + Deprecated. Please use {@link #getCurrentLoggers} instead. */ + public + Enumeration getCurrentCategories(); + + + public + abstract + void fireAddAppenderEvent(Category logger, Appender appender); + + public + abstract + void resetConfiguration(); + +}