有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Liferay,如何获取根记录器?

我正在尝试开发一个portlet,当在给定的时间段内发生一组指定的异常时,它会向管理员发送电子邮件。我正在尝试在liferay中获取根记录器,这样我就可以将appender添加到其中,并通过日志机制处理所有消息。 我查看了源代码,似乎liferay使用java。util。登录中。后勤经理。我做了一个钩子,当服务器启动时会被触发。下面是我的run()方法:

public void run(String[] ids) throws ActionException {
    System.out.println("initializing");     

    LogListener listener = new LogListener();
    listener.setLevel(Level.ALL);
    listener.setFilter(null);
    Logger.getGlobal().addHandler(listener);

    _log.debug("complete");
}

和LogListener类

package pl.com.mds.portlet.mailing.hook;

import java.util.logging.Handler;
import java.util.logging.LogRecord;

public class LogListener extends Handler {

    @Override
    public void publish(LogRecord record) {
        System.out.println("publishing******");

    }

    @Override
    public void flush() {
        // TODO Auto-generated method stub
        System.out.println("have to flush! *****");
    }

    @Override
    public void close() throws SecurityException {
        // TODO Auto-generated method stub
        System.out.println("close meee!");
    }

}

但是当抛出某个异常时,我在控制台中看不到publishing******唯一的异常堆栈跟踪。如何获取应用程序和Expections中的所有日志? 谢谢:)


共 (0) 个答案