/* * Copyright 2000-2002,2004 Apache Software Foundation * * Licensed 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.tools.ant; import java.io.PrintStream; /** * Interface used by Ant to log the build output. * * A build logger is a build listener which has the 'right' to send output to * the ant log, which is usually System.out unless redirected by * the -logfile option. * * @author Conor MacNeill */ public interface BuildLogger extends BuildListener { /** * Sets the highest level of message this logger should respond to. * * Only messages with a message level lower than or equal to the * given level should be written to the log. *

* Constants for the message levels are in the * {@link Project Project} class. The order of the levels, from least * to most verbose, is MSG_ERR, MSG_WARN, * MSG_INFO, MSG_VERBOSE, * MSG_DEBUG. * * @param level the logging level for the logger. */ void setMessageOutputLevel(int level); /** * Sets the output stream to which this logger is to send its output. * * @param output The output stream for the logger. * Must not be null. */ void setOutputPrintStream(PrintStream output); /** * Sets this logger to produce emacs (and other editor) friendly output. * * @param emacsMode true if output is to be unadorned so that * emacs and other editors can parse files names, etc. */ void setEmacsMode(boolean emacsMode); /** * Sets the output stream to which this logger is to send error messages. * * @param err The error stream for the logger. * Must not be null. */ void setErrorPrintStream(PrintStream err); }