001/* 002 * Copyright (c) 2013 Nu Echo Inc. All rights reserved. 003 */ 004 005package com.nuecho.rivr.core.util.logging; 006 007import static org.slf4j.helpers.MessageFormatter.*; 008 009import org.slf4j.*; 010 011/** 012 * {@link Logger} adding a prefix to each message. 013 * 014 * @author Nu Echo Inc. 015 */ 016public class PrefixedLogger extends LoggerAdapter { 017 018 private final String mPrefix; 019 private final Logger mLogger; 020 021 public PrefixedLogger(String prefix, Logger logger) { 022 mPrefix = prefix; 023 mLogger = logger; 024 } 025 026 @Override 027 public String getName() { 028 return mLogger.getName(); 029 } 030 031 @Override 032 public boolean isTraceEnabled() { 033 return mLogger.isTraceEnabled(); 034 } 035 036 @Override 037 public boolean isTraceEnabled(Marker marker) { 038 return mLogger.isTraceEnabled(marker); 039 } 040 041 @Override 042 public boolean isDebugEnabled() { 043 return mLogger.isDebugEnabled(); 044 } 045 046 @Override 047 public boolean isDebugEnabled(Marker marker) { 048 return mLogger.isDebugEnabled(marker); 049 } 050 051 @Override 052 public boolean isInfoEnabled() { 053 return mLogger.isInfoEnabled(); 054 } 055 056 @Override 057 public boolean isInfoEnabled(Marker marker) { 058 return mLogger.isInfoEnabled(marker); 059 } 060 061 @Override 062 public boolean isWarnEnabled() { 063 return mLogger.isWarnEnabled(); 064 } 065 066 @Override 067 public boolean isWarnEnabled(Marker marker) { 068 return mLogger.isWarnEnabled(marker); 069 } 070 071 @Override 072 public boolean isErrorEnabled() { 073 return mLogger.isErrorEnabled(); 074 } 075 076 @Override 077 public boolean isErrorEnabled(Marker marker) { 078 return mLogger.isErrorEnabled(marker); 079 } 080 081 @Override 082 protected void log(Marker marker, LogLevel logLevel, String message, Throwable throwable) { 083 LogUtil.dispatch(mLogger, marker, mPrefix + message, logLevel, throwable); 084 } 085 086 @Override 087 protected void logWithFormatting(Marker marker, LogLevel logLevel, String format, Object... arguments) { 088 LogUtil.dispatch(mLogger, marker, mPrefix + arrayFormat(format, arguments).getMessage(), logLevel, null); 089 } 090}