DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUGĀ· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=42044>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED ANDĀ· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=42044 ------- Additional Comments From [EMAIL PROTECTED] 2007-04-04 06:23 ------- This is the source code for a CompositeLogger that logs to a default logger, and the XmlLogger. This needs the environment variable ANT_LOG_PREFIX to be set (there's no better way I can think of) /******************************************************************************* * Copyright 2007 Ketan Padegaonkar http://ketan.padegaonkar.name * * 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 name.padegaonkar.ketan.ant.logger; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.util.ArrayList; import java.util.Iterator; import org.apache.tools.ant.BuildEvent; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.BuildLogger; import org.apache.tools.ant.DefaultLogger; import org.apache.tools.ant.XmlLogger; /** * @author Ketan Padegaonkar */ public class CompositeAntLogger implements BuildLogger { private ArrayList loggers; private String logPrefix; private PrintStream out; public CompositeAntLogger() { checkLogPrefix(); createLoggers(); } public void setEmacsMode(boolean emacsMode) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.setEmacsMode(emacsMode); } } public void buildFinished(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.buildFinished(event); } } public void buildStarted(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.buildStarted(event); } } public void messageLogged(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.messageLogged(event); } } public void targetFinished(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.targetFinished(event); } } public void targetStarted(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.targetStarted(event); } } public void taskFinished(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.taskFinished(event); } } public void taskStarted(BuildEvent event) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.taskStarted(event); } } public void setMessageOutputLevel(int level) { for (Iterator iterator = loggers.iterator(); iterator.hasNext();) { BuildLogger logger = (BuildLogger) iterator.next(); logger.setMessageOutputLevel(level); } } public void setOutputPrintStream(PrintStream output) { // do nothing } public void setErrorPrintStream(PrintStream err) { // do nothing } private void createLoggers() { loggers = new ArrayList(); try { loggers.add(createDefaultLogger()); loggers.add(createXmlLogger()); } catch (FileNotFoundException e) { throw new BuildException("The loggers could not open the file", e); } } private void checkLogPrefix() { logPrefix = System.getenv("ANT_LOG_PREFIX"); if (logPrefix == null || logPrefix.trim().length() == 0) throw new BuildException("You need to set the environment variable ANT_LOG_PREFIX."); } private DefaultLogger createDefaultLogger() throws FileNotFoundException { DefaultLogger logger = new DefaultLogger(); out = new PrintStream(new FileOutputStream(logPrefix + ".txt")); logger.setOutputPrintStream(out); logger.setErrorPrintStream(out); return logger; } private XmlLogger createXmlLogger() throws FileNotFoundException { XmlLogger logger = new XmlLogger(); out = new PrintStream(new FileOutputStream(logPrefix + ".xml")); logger.setOutputPrintStream(out); logger.setErrorPrintStream(out); return logger; } } -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]