Logback: the reliable, generic, fast and flexible logging framework. Copyright (C) 1999-2015, QOS.ch. All rights reserved. This program and the accompanying materials are dual-licensed under either the terms of the Eclipse Public License v1.0 as published by the Eclipse Foundation or (per the licensee's choosing) under the terms of the GNU Lesser General Public License version 2.1 as published by the Free Software Foundation.
/** * Logback: the reliable, generic, fast and flexible logging framework. * Copyright (C) 1999-2015, QOS.ch. All rights reserved. * * This program and the accompanying materials are dual-licensed under * either the terms of the Eclipse Public License v1.0 as published by * the Eclipse Foundation * * or (per the licensee's choosing) * * under the terms of the GNU Lesser General Public License version 2.1 * as published by the Free Software Foundation. */
package ch.qos.logback.core; import java.util.Map; import java.util.concurrent.ExecutorService; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import ch.qos.logback.core.spi.LifeCycle; import ch.qos.logback.core.spi.PropertyContainer; import ch.qos.logback.core.status.StatusManager;
A context is the main anchorage point of all logback components.
Author:Ceki Gulcu
/** * A context is the main anchorage point of all logback components. * * @author Ceki Gulcu * */
public interface Context extends PropertyContainer {
Return the StatusManager instance in use.
Returns:the StatusManager instance in use.
/** * Return the StatusManager instance in use. * * @return the {@link StatusManager} instance in use. */
StatusManager getStatusManager();
A Context can act as a store for various objects used by LOGBack components.
Returns:The object stored under 'key'.
/** * A Context can act as a store for various objects used by LOGBack * components. * * @return The object stored under 'key'. */
Object getObject(String key);
Store an object under 'key'. If no object can be found, null is returned.
Params:
  • key –
  • value –
/** * Store an object under 'key'. If no object can be found, null is returned. * * @param key * @param value */
void putObject(String key, Object value); /** * Get all the properties for this context as a Map. Note that the returned * cop might be a copy not the original. Thus, modifying the returned Map will * have no effect (on the original.) * * @return */ // public Map<String, String> getPropertyMap();
Get the property of this context.
/** * Get the property of this context. */
String getProperty(String key);
Set a property of this context.
/** * Set a property of this context. */
void putProperty(String key, String value);
Get a copy of the property map
Returns:
Since:0.9.20
/** * Get a copy of the property map * @return * @since 0.9.20 */
Map<String, String> getCopyOfPropertyMap();
Contexts are named objects.
Returns:the name for this context
/** * Contexts are named objects. * * @return the name for this context */
String getName();
The name of the context can be set only once.
Params:
  • name –
/** * The name of the context can be set only once. * * @param name */
void setName(String name);
The time at which this context was created, expressed in millisecond elapsed since the epoch (1.1.1970).
Returns:The time as measured when this class was created.
/** * The time at which this context was created, expressed in * millisecond elapsed since the epoch (1.1.1970). * * @return The time as measured when this class was created. */
long getBirthTime();
Object used for synchronization purposes. INTENDED FOR INTERNAL USAGE.
/** * Object used for synchronization purposes. * INTENDED FOR INTERNAL USAGE. */
Object getConfigurationLock();
Returns the ScheduledExecutorService for this context.
Returns:
Since:1.1.7
/** * Returns the ScheduledExecutorService for this context. * @return * @since 1.1.7 */
// Apparently ScheduledThreadPoolExecutor has limitation where a task cannot be submitted from // within a running task. ThreadPoolExecutor does not have this limitation. // This causes tests failures in SocketReceiverTest.testDispatchEventForEnabledLevel and // ServerSocketReceiverFunctionalTest.testLogEventFromClient. ScheduledExecutorService getScheduledExecutorService();
Every context has an ExecutorService which be invoked to execute certain tasks in a separate thread.
Returns:the executor for this context.
Since:1.0.0
Deprecated:use getScheduledExecutorService() instead
/** * Every context has an ExecutorService which be invoked to execute certain * tasks in a separate thread. * * @return the executor for this context. * @since 1.0.0 * @deprecated use {@link#getScheduledExecutorService()} instead */
ExecutorService getExecutorService();
Register a component that participates in the context's life cycle.

All components registered via this method will be stopped and removed from the context when the context is reset.

Params:
  • component – the subject component
/** * Register a component that participates in the context's life cycle. * <p> * All components registered via this method will be stopped and removed * from the context when the context is reset. * * @param component the subject component */
void register(LifeCycle component); void addScheduledFuture(ScheduledFuture<?> scheduledFuture); }