java日志中的处理者(handler)问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java日志中的处理者(handler)问题相关的知识,希望对你有一定的参考价值。

Logger默认的处理者是java.util.logging.ConsoleHandler,但为什么我定义一个Logger实例后用getHandlers()后得到的数组长度是0而不是1呢?
import java.util.logging.*;

public class LoggerDemo

public static void main(String[] args)

Logger logger=Logger.getLogger("com.cn.jhy");
Handler[] handler=logger.getHandlers();
System.out.println("handler.length="+handler.length);//为什么长度是0


;
还有一个问题,什么是本地类(LocalClass)?

你对Logger没有理解,没有仔细看帮助文档.
一个Logger要注册到一个Hanger上才是有意义的.具体怎么写,给你写了个小例子,希望可以帮助你理解.

import java.util.logging.*;
class Test extends Handler
public static void main(String args[])
Test test = new Test();
Logger logger = Logger.getLogger("com.ffteam");//
logger.addHandler(test);//注册
Handler[] handler = logger.getHandlers();
System.out.println(handler.length);

public void close()
public void flush()
public void publish(LogRecord r)

参考技术A Logger.getLogger("com.cn.jhy");
com.cn.jhy正确吗?

以上是关于java日志中的处理者(handler)问题的主要内容,如果未能解决你的问题,请参考以下文章

HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: jav

内核研究处理者_Handler

Android中的Handler, Looper, MessageQueue和Thread对应关系

14.职责链模式

Java设计模式之建造者模式

责任链模式