package com.zillabyte.motherbrain.utils; import java.io.Serializable; import org.apache.log4j.Logger; import org.apache.log4j.Priority; import com.zillabyte.motherbrain.flow.operations.Operation; @SuppressWarnings("all") public class Log4jWrapper implements Serializable { private static final long serialVersionUID = 8188911994286289364L; private Operation _prefix; private Class<?> _clazz; private transient Logger _base = null;; public Log4jWrapper(Class<?> clazz, Operation op) { _clazz = clazz; _prefix = op; } public String format(Object msg) { return "[" + _prefix.instanceName() + "] " + msg.toString(); } private Logger base() { if (_base == null) { _base = Logger.getLogger(_clazz); } return _base; } public void info(Object msg) { log(Priority.INFO, msg); } private void log(Priority info, Object msg) { base().log(Log4jWrapper.class.getName(), info, format(msg), null); } public void error(Object msg) { log(Priority.ERROR, msg); } public void warn(Object msg) { log(Priority.WARN, msg); } public void debug(Object msg) { log(Priority.DEBUG, msg); } public static Log4jWrapper create(Class clazz, Operation o) { return new Log4jWrapper(clazz, o); } }