/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.sync.log.writers;
/**
* A @link{LogWriter} that logs each message under a parent tag.
*/
public abstract class TagLogWriter extends LogWriter {
protected final LogWriter inner;
public TagLogWriter(final LogWriter inner) {
super();
this.inner = inner;
}
protected abstract String getMainTag();
@Override
public void error(String tag, String message, Throwable error) {
inner.error(this.getMainTag(), tag + " :: " + message, error);
}
@Override
public void warn(String tag, String message, Throwable error) {
inner.warn(this.getMainTag(), tag + " :: " + message, error);
}
@Override
public void info(String tag, String message, Throwable error) {
inner.info(this.getMainTag(), tag + " :: " + message, error);
}
@Override
public void debug(String tag, String message, Throwable error) {
inner.debug(this.getMainTag(), tag + " :: " + message, error);
}
@Override
public void trace(String tag, String message, Throwable error) {
inner.trace(this.getMainTag(), tag + " :: " + message, error);
}
@Override
public boolean shouldLogVerbose(String tag) {
return inner.shouldLogVerbose(this.getMainTag());
}
@Override
public void close() {
inner.close();
}
}