/******************************************************************************* * Copyright (c) 2012-2017 Codenvy, S.A. * 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: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.maven.server; import org.codehaus.plexus.logging.Logger; import java.rmi.RemoteException; /** * Implementation of {@link Logger}. * This implementation delegates all log call to {@link MavenTerminal} interface. * * @author Evgen Vidolob */ public class MavenServerTerminalLogger implements Logger { private int logLevel; private MavenTerminal terminal; @Override public void debug(String s) { print(MavenTerminal.LEVEL_DEBUG, s, null); } @Override public void debug(String s, Throwable throwable) { print(MavenTerminal.LEVEL_DEBUG, s, throwable); } @Override public boolean isDebugEnabled() { return logLevel <= MavenTerminal.LEVEL_DEBUG; } @Override public void info(String s) { print(MavenTerminal.LEVEL_INFO, s, null); } @Override public void info(String s, Throwable throwable) { print(MavenTerminal.LEVEL_INFO, s, throwable); } @Override public boolean isInfoEnabled() { return logLevel <= MavenTerminal.LEVEL_INFO; } @Override public void warn(String s) { print(MavenTerminal.LEVEL_WARN, s, null); } @Override public void warn(String s, Throwable throwable) { print(MavenTerminal.LEVEL_WARN, s, throwable); } @Override public boolean isWarnEnabled() { return logLevel <= MavenTerminal.LEVEL_WARN; } @Override public void error(String s) { print(MavenTerminal.LEVEL_ERROR, s, null); } @Override public void error(String s, Throwable throwable) { print(MavenTerminal.LEVEL_ERROR, s, throwable); } @Override public boolean isErrorEnabled() { return logLevel <= MavenTerminal.LEVEL_ERROR; } @Override public void fatalError(String s) { print(MavenTerminal.LEVEL_FATAL, s, null); } @Override public void fatalError(String s, Throwable throwable) { print(MavenTerminal.LEVEL_FATAL, s, null); } @Override public boolean isFatalErrorEnabled() { return logLevel <= MavenTerminal.LEVEL_FATAL; } @Override public int getThreshold() { return logLevel; } @Override public void setThreshold(int i) { logLevel = i; } @Override public Logger getChildLogger(String s) { return null; } @Override public String getName() { return "CheMavenLogger"; } public void setTerminal(MavenTerminal terminal) { this.terminal = terminal; } private void print(int level, String message, Throwable t) { if (level < logLevel) { return; } if (terminal != null) { if (!message.endsWith("\n")) { message += "\n"; } try { terminal.print(level, message, t); } catch (RemoteException ignore) { } } } }