00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 package de.picana.logging;
00014
00015 import java.util.*;
00016 import java.text.DateFormat;
00017
00018
00034 public abstract class Logger {
00035
00036 private boolean log_info = true;
00037 private boolean log_warning = true;
00038 private boolean log_error = true;
00039 private boolean log_verb = true;
00040 private boolean log_debug = false;
00041
00042
00044 public Logger() {
00045 setDefault();
00046 }
00047
00053 public void info(String src, String msg) {
00054 if (log_info)
00055 logInfo(src, msg);
00056 }
00057
00063 public void warn(String src, String msg) {
00064 if (log_warning)
00065 logWarning(src, msg);
00066 }
00067
00073 public void error(String src, String msg) {
00074 if (log_error)
00075 logError(src, msg);
00076 }
00077
00083 public void verbose(String src, String msg) {
00084 if (log_verb)
00085 logVerbose(src, msg);
00086 }
00087
00093 public void debug(String src, String msg) {
00094 if (log_debug)
00095 logDebug(src, msg);
00096 }
00097
00102 public boolean getInfo() {
00103 return this.log_info;
00104 }
00105
00111 public synchronized void setInfo(boolean info) {
00112 this.log_info = info;
00113 }
00114
00119 public boolean getWarn() {
00120 return this.log_warning;
00121 }
00122
00128 public synchronized void setWarn(boolean warn) {
00129 this.log_warning = warn;
00130 }
00131
00136 public boolean getError() {
00137 return this.log_error;
00138 }
00139
00145 public synchronized void setError(boolean error) {
00146 this.log_error = error;
00147 }
00148
00153 public boolean getVerbose() {
00154 return this.log_verb;
00155 }
00156
00162 public void setVerbose(boolean verb) {
00163 this.log_verb = verb;
00164 }
00165
00170 public boolean getDebug() {
00171 return this.log_debug;
00172 }
00173
00179 public synchronized void setDebug(boolean debug) {
00180 this.log_debug = debug;
00181 }
00182
00187 public boolean getLogging() {
00188
00189 if (!log_info && !log_warning && !log_error && !log_verb && !log_debug)
00190 return false;
00191 else
00192 return true;
00193 }
00194
00201 public synchronized void setLogging(boolean log) {
00202 if (log) {
00203 log_info = true;
00204 log_warning = true;
00205 log_error = true;
00206 log_verb = true;
00207 log_debug = true;
00208 } else {
00209 log_info = false;
00210 log_warning = false;
00211 log_error = false;
00212 log_verb = false;
00213 log_debug = false;
00214 }
00215 }
00216
00227 public synchronized void setDefault() {
00228 log_info = true;
00229 log_warning = true;
00230 log_error = true;
00231 log_verb = false;
00232 log_debug = false;
00233 }
00234
00235
00241 protected abstract void logInfo(String src, String msg);
00242
00248 protected abstract void logWarning(String src, String msg);
00249
00255 protected abstract void logError(String src, String msg);
00256
00262 protected abstract void logVerbose(String src, String msg);
00263
00269 protected abstract void logDebug(String src, String msg);
00270
00275 public static String getDateTimeString() {
00276 Date now = new Date(System.currentTimeMillis());
00277 DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM, Locale.GERMAN);
00278 return df.format(now);
00279 }
00280
00287 protected String getFilledString(String str, int length) {
00288 StringBuffer buffer = new StringBuffer(str);
00289 if (str.length() >= length)
00290 return str;
00291 else {
00292 for (int i=0; i < length - str.length(); i++)
00293 buffer.insert(0, ' ');
00294 }
00295 return buffer.toString();
00296 }
00297 }