001/* 002 * Copyright 2012-2018 the original author or authors. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 017package org.springframework.boot.cli.util; 018 019/** 020 * Simple logger used by the CLI. 021 * 022 * @author Phillip Webb 023 */ 024public abstract class Log { 025 026 private static LogListener listener; 027 028 public static void info(String message) { 029 System.out.println(message); 030 if (listener != null) { 031 listener.info(message); 032 } 033 } 034 035 public static void infoPrint(String message) { 036 System.out.print(message); 037 if (listener != null) { 038 listener.infoPrint(message); 039 } 040 } 041 042 public static void error(String message) { 043 System.err.println(message); 044 if (listener != null) { 045 listener.error(message); 046 } 047 } 048 049 public static void error(Exception ex) { 050 ex.printStackTrace(System.err); 051 if (listener != null) { 052 listener.error(ex); 053 } 054 } 055 056 static void setListener(LogListener listener) { 057 Log.listener = listener; 058 } 059 060}