LF5Appender类
将日志显示在Swing窗口中。对Swing不熟,没怎么看代码,不过可以使用一下测试用例简单的做一些测试,提供一些感觉。
1 @Test
2 public void testLF5Appender() throws Exception {
3LF5Appender appender = new LF5Appender();
4appender.setLayout(new TTCCLayout());
5appender.activateOptions();
6configAppender(appender);
7
8logTest();
9 }Appender负责定义日志输出的目的地,它可以是控制台(ConsoleAppender)、文件(FileAppender)、JMS服务器(JmsLogAppender)、以Email的形式发送出去(SMTPAppender)等。Appender是一个命名的实体,另外它还包含了对Layout、ErrorHandler、Filter等引用:
1 public intece Appender {
2void addFilter(Filter newFilter);
3public Filter getFilter();
4public void clearFilters();
5public void close();
6public void doAppend(LoggingEvent event);
7public String getName();
8public void setErrorHandler(ErrorHandler errorHandler);
9public ErrorHandler getErrorHandler();
10public void setLayout(Layout layout);
11public Layout getLayout();
12public void setName(String name);
13public boolean requiresLayout();
14 }
简单的,在配置文件中,Appender会注册到Logger中,Logger在写日志时,通过继承机制遍历所有注册到它本身和其父节点的Appender(在additivity为true的情况下),调用doAppend()方法,实现日志的写入。在doAppend方法中,若当前Appender注册了Filter,则doAppend还会判断当前日志时候通过了Filter的过滤,通过了Filter的过滤后,如果当前Appender继承自SkeletonAppender,还会检查当前日志级别时候要比当前Appender本身的日志级别阀门要打,所有这些都通过后,才会将LoggingEvent实例传递给Layout实例以格式化成一行日志信息,最后写入相应的目的地,在这些操作中,任何出现的错误都由ErrorHandler字段来处理。
Log4J中的Appender类图结构:
在Log4J Core一小节中已经简单的介绍过了AppenderSkeleton、WriterAppender、ConsoleAppender以及 Filter,因小节将直接介绍具体的几个常用的Appender。
FileAppender类
FileAppender继承自WriterAppender,它将日志写入文件。主要的日志写入逻辑已经在WriterAppender中处理,FileAppender主要处理的逻辑主要在于将设置日志输出文件名,并通过设置的文件构建WriterAppender中的QuiteWriter字段实例。如果Log文件的目录没有创建,在setFile()方法中会先创建目录,再设置日志文件。另外,所有FileAppender字段在调用activateOptions()方法中生效。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-29497-21.html
我觉得iOS9其实挺好的
就晓得淘宝马上要短命了