package at.gv.egovernment.moa.logging;
/**
 * A unified message type to log messages from inside the MOA subsystem.
 * 
 * @author Patrick Peck
 * @version $Id$
 */
public class LogMsg {
  /** The message to log. */
  private Object message;
  /**
   * Create a LogMsg object.
   * 
   * @param message The actual message to log. May be null. 
   */
  public LogMsg(Object message) {
    this.message = message;
  }
  /**
   * Convert this log message to a String.
   * 
   * @return The String representation of this log message. 
   */
  public String toString() {
    StringBuffer msg = new StringBuffer();
    LoggingContext ctx =
      LoggingContextManager.getInstance().getLoggingContext();
    String tid = ctx != null ? ctx.getTransactionID() : null;
    String nodeId = ctx != null ? ctx.getNodeID() : null;
    
    msg.append("TID=");
    msg.append(tid != null ? tid : "");
    msg.append(" NID=");
    msg.append(nodeId != null ? nodeId : "");
    msg.append(" MSG=");
    msg.append(message != null ? message.toString() : "");
    return msg.toString();
  }
}