java.lang.ClassCastException:org.apache.log4j.Logger无法强制转换

java.lang.ClassCastException:org.apache.log4j.Logger无法强制转换,log4j,java-7,Log4j,Java 7,我扩展了org.apache.log4j.Logger,用于实现方法启动和存在的日志记录。 当我在log4j.properties中没有为类设置loglevel时,它工作得很好。 当我设定 log4j.logger.de.martinm.tools.UniCredit.ExportOperator=INFO 我得到一个例外: 线程“main”java.lang.ClassCastException:org.apache.log4j.Logger中的异常无法转换为de.martinm.tools

我扩展了org.apache.log4j.Logger,用于实现方法启动和存在的日志记录。 当我在log4j.properties中没有为类设置loglevel时,它工作得很好。 当我设定

log4j.logger.de.martinm.tools.UniCredit.ExportOperator=INFO
我得到一个例外:

线程“main”java.lang.ClassCastException:org.apache.log4j.Logger中的异常无法转换为de.martinm.tools.Logging.MMLogger 位于de.martinm.tools.UniCredit.ExportOperator.(ExportOperator.java:21) 位于de.martinm.tools.UniCredit.ExportOperator.main(ExportOperator.java:330)

这是我的部分代码

public class ExportOperator {

    //public static Logger logger = Logger.getLogger(ExportOperator.class.getName());
    public MMLogger Mylogger = (MMLogger) MMLogger.getLogger(ExportOperator.class.getName());

    public Connection db_con;
    static Utils my_utils = new Utils();
    public Properties props = new Properties();
    public String output_dir;
    public int mid;
    public String admin_id;
    public int op_id;

我现在改为org.slf4j.ext.XLogger,它提供了我想要的所有增强功能。我现在改为org.slf4j.ext.XLogger,它提供了我想要的所有增强功能
public class ExportOperator {

    //public static Logger logger = Logger.getLogger(ExportOperator.class.getName());
    public MMLogger Mylogger = (MMLogger) MMLogger.getLogger(ExportOperator.class.getName());

    public Connection db_con;
    static Utils my_utils = new Utils();
    public Properties props = new Properties();
    public String output_dir;
    public int mid;
    public String admin_id;
    public int op_id;