001 /*--------------------------------------------------------------------------+
002 $Id: SimpleLogger.java 26283 2010-02-18 11:18:57Z juergens $
003 | |
004 | Copyright 2005-2010 Technische Universitaet Muenchen |
005 | |
006 | Licensed under the Apache License, Version 2.0 (the "License"); |
007 | you may not use this file except in compliance with the License. |
008 | You may obtain a copy of the License at |
009 | |
010 | http://www.apache.org/licenses/LICENSE-2.0 |
011 | |
012 | Unless required by applicable law or agreed to in writing, software |
013 | distributed under the License is distributed on an "AS IS" BASIS, |
014 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
015 | See the License for the specific language governing permissions and |
016 | limitations under the License. |
017 +--------------------------------------------------------------------------*/
018 package edu.tum.cs.commons.logging;
019
020 import static edu.tum.cs.commons.string.StringUtils.obtainStackTrace;
021
022 import java.io.OutputStream;
023 import java.io.PrintWriter;
024
025 /**
026 * Simple logger that writes all messages to a stream or print writer.
027 *
028 * @author deissenb
029 * @author $Author: juergens $
030 * @version $Rev: 26283 $
031 * @levd.rating GREEN Hash: 74D659BE8CEFA9291421EE8E3BC41B76
032 */
033 public class SimpleLogger implements ILogger {
034
035 /** The writer used for output. */
036 private final PrintWriter writer;
037
038 /** Create logger that logs to {@link System#out}. */
039 public SimpleLogger() {
040 this(System.out);
041 }
042
043 /** Create logger that logs to a stream. */
044 public SimpleLogger(OutputStream stream) {
045 writer = new PrintWriter(stream, true);
046 }
047
048 /** Create logger that logs to a writer. */
049 public SimpleLogger(PrintWriter writer) {
050 this.writer = writer;
051 }
052
053 /** {@inheritDoc} */
054 public void debug(Object message) {
055 writer.println("DEBUG: " + message);
056 }
057
058 /** {@inheritDoc} */
059 public void debug(Object message, Throwable throwable) {
060 debug(message + ": " + obtainStackTrace(throwable));
061 }
062
063 /** {@inheritDoc} */
064 public void error(Object message) {
065 writer.println("ERROR: " + message);
066
067 }
068
069 /** {@inheritDoc} */
070 public void error(Object message, Throwable throwable) {
071 error(message + ": " + obtainStackTrace(throwable));
072 }
073
074 /** {@inheritDoc} */
075 public void info(Object message) {
076 writer.println("INFO : " + message);
077 }
078
079 /** {@inheritDoc} */
080 public void info(Object message, Throwable throwable) {
081 info(message + ": " + obtainStackTrace(throwable));
082 }
083
084 /** {@inheritDoc} */
085 public void warn(Object message) {
086 writer.println("WARN : " + message);
087 }
088
089 /** {@inheritDoc} */
090 public void warn(Object message, Throwable throwable) {
091 warn(message + ": " + obtainStackTrace(throwable));
092 }
093
094 }