blob: f9263013ebdbb2a6f1f077b3a6f4abe3a743487a [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006-2009 IBM Corporation and others
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
******************************************************************************/
package org.eclipse.equinox.log;
import org.osgi.framework.ServiceReference;
import org.osgi.service.log.LogService;
/**
* Provides named logger support for the OSGi LogService. Otherwise very similar to the <code>LogService</code>.
* @ThreadSafe
* @see LogService
*/
public interface Logger {
/**
* @see LogService#log(int, String)
*/
public void log(int level, String message);
/**
* @see LogService#log(int, String, Throwable)
*/
public void log(int level, String message, Throwable exception);
/**
* @see LogService#log(ServiceReference, int, String)
*/
public void log(ServiceReference sr, int level, String message);
/**
* @see LogService#log(ServiceReference, int, String, Throwable)
*/
public void log(ServiceReference sr, int level, String message, Throwable exception);
/**
* Extends the <code>LogService</code>
* Logs a message with a context object
*
* @param context The context object this message is associated with.
* @param level The log level or severity of the message.
* @param message A human readable string to associate with log entry.
* @see LogService#log(int, String)
*/
public void log(Object context, int level, String message);
/**
* Logs a message with an exception associated and a
* context object.
*
*
* @param context The context object this message is associated with.
* @param level The log level or severity of the message.
* @param message A human readable string to associate with log entry.
* @param exception The exception associated with this entry
* @see LogService#log(int, String, Throwable)
*/
public void log(Object context, int level, String message, Throwable exception);
/**
* Pre-checks if there are LogListeners who are listening for a matching log entry from this <code>Logger</code>.
*
* @param level The log level or severity of the message.
* @return <code>boolean</code> True if there a LogListener listening that can handle a log entry for this log level; false otherwise.
* @see ExtendedLogReaderService#addLogListener(org.osgi.service.log.LogListener, LogFilter)
* @see LogFilter
*/
public boolean isLoggable(int level);
/**
* Returns the name associated with this <code>Logger</code>
* object.
*
* @return <code>String</code> containing the name associated with this
* <code>Logger</code> object;<code>null</code> if no name is
* associated.
*/
public String getName();
}