/*
 * JOnAS: Java(TM) Open Application Server
 * Copyright (C) 1999 Bull S.A.
 * Contact: jonas-team@objectweb.org
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or any later version.
 * 
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 * 
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 * USA
 *
 * --------------------------------------------------------------------------
 * $Id$
 * --------------------------------------------------------------------------
 */

package org.objectweb.jonas_tm;

import org.objectweb.util.monolog.api.Logger;
import org.objectweb.util.monolog.api.LoggerFactory;
import org.objectweb.util.monolog.api.BasicLevel;

/**
 * For message logging
 * @author Sebastien Chassande-Barrioz sebastien.chassande@inrialpes.fr
 *           Monolog for traces
 */
public class TraceTm {

    static public Logger logger = null;
    static public Logger tm = null;
    static public Logger jta = null;
    static public final String prefix = "org.objectweb.jonas_tm";

    static public void configure(LoggerFactory lf) {
        logger = lf.getLogger(prefix);
        tm = lf.getLogger(prefix+".tm");
        jta = lf.getLogger(prefix+".jta");
    }

    static public boolean isDebugTm() {
	return (tm != null) && tm.isLoggable(BasicLevel.DEBUG);
    }

    static public boolean isDebugJta() {
	return (jta != null) && jta.isLoggable(BasicLevel.DEBUG);
    }

    static public void debugTm(String msg) {
        if (tm != null) tm.log(BasicLevel.DEBUG, msg);
    }

    static public void debugJta(String msg) {
        if (jta != null) jta.log(BasicLevel.DEBUG, msg);
    }

    static public void verbose(String msg) {
        if (logger != null) logger.log(BasicLevel.WARN, msg);
    }

    static public void error(String msg) {
        if (logger != null) logger.log(BasicLevel.ERROR, msg);
    }

    static public void error(String msg, Throwable th) {
        if (logger != null) logger.log(BasicLevel.ERROR, msg, th);
    }

}
