/******************************************************************************* * Copyright (c) 2009 Borland Software 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 * * Contributors: * Borland Software Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.m2m.qvt.oml.util; /** * A log interface is used to log messages along with parameter data. A particular * logging level may be specified for additional filtering capability. * It provides a simple logger functionality as required by the ImperativeOCL::LogExp, * which is intended the main client to this interface. * * @author dvorak * @since 2.0 */ public interface Log { /** * The <code>null</code> log instance, which has no real receiver of the * logged entries. */ Log NULL_LOG = new Log() { public void log(int level, String message) { // do nothing; } public void log(int level, String message, Object param) { // do nothing; } public void log(String message) { // do nothing; } public void log(String message, Object param) { // do nothing; } }; /** * Logs a message with additional parameter at the specified logging level. * * @param level * the level value to which the resulting log record should apply * @param message * the textual message to be logged * @param param * the parameter object to the message */ void log(int level, String message, Object param); /** * Logs a message at the specified logging level. * * @param level * the level value to which the resulting log record should apply * @param message * the textual message to be logged */ void log(int level, String message); /** * Logs a message with additional parameter. * * @param message * the textual message to be logged * @param param * the parameter object to the message */ void log(String message, Object param); /** * Logs a message. * * @param message * the textual message to be logged */ void log(String message); }