/*
 * Copyright (C) 1999-2004 <a href="mailto:mandarax@jbdietrich.com">Jens Dietrich</a>
 *
 * 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 of the License, or (at your option) 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
 */
package org.mandarax.util.logging;


/**
 * Log categories are defined here. Categories are defined by using the abstract Logger interface
 * in the util package. Implementation use a certain logging frameworks such as apache log4j or
 * jdk (1.4 and later) logging. 
 * <p>
 * For more information on log4j click <a href="http://jakarta.apache.org" target="_top">here</a>.
 * @see org.mandarax.util.Logger
 * @see org.mandarax.util.LoggerFactory
 * @author <A HREF="mailto:mandarax@jbdietrich.com">Jens Dietrich</A>
 * @version 3.3.1 <9 August 2004>
 * @since 1.1
 */
public interface LogCategories {

    // Categories to log the inference engine
    public static final Logger LOG_IE = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.IE");
    public static final Logger LOG_IE_LOOPCHECK = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.IE.LOOPCHECK");
    public static final Logger LOG_IE_RESULT = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.IE.RESULT");
    public static final Logger LOG_IE_STEP = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.IE.STEP");
    public static final Logger LOG_IE_UNIFICATION = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.IE.UNIFICATION");

    // Categories to log the knowledge base
    public static final Logger LOG_KB = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.KB");
    public static final Logger LOG_KB_ADD = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.KB.ADD");
    public static final Logger LOG_KB_REMOVE = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.KB.REMOVE");
    public static final Logger LOG_KB_EVENT = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.KB.EVENT");
    public static final Logger LOG_KB_MOVE = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.KB.MOVE");

    // Logger for test cases
    public static final Logger LOG_TEST = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.TESTS");

    // Logger for SQL integration
    public static final Logger LOG_SQL = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.SQL");
    
    // Logger for RDF integration
    public static final Logger LOG_RDF = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.RDF");

    // Logger for the logic factory
    public static final Logger LOG_LFACTORY = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.LF");

    // Categories for XKB / ZKB xml interfaces
    public static final Logger LOG_XKB = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.XKB");
    public static final Logger LOG_ZKB = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.ZKB");
    
    // Categories for general purpose serialization
	public static final Logger LOG_SER_XML = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.SERIAL.XML");
	public static final Logger LOG_SER_BIN = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.SERIAL.BIN");
	
	// Categories for JDBC
	public static final Logger LOG_JDBC = LoggerFactory.getDefaultFactory().getLogger ("MANDARAX.JDBC");
}
