View Javadoc

1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2009, QOS.ch. All rights reserved.
4    *
5    * This program and the accompanying materials are dual-licensed under
6    * either the terms of the Eclipse Public License v1.0 as published by
7    * the Eclipse Foundation
8    *
9    *   or (per the licensee's choosing)
10   *
11   * under the terms of the GNU Lesser General Public License version 2.1
12   * as published by the Free Software Foundation.
13   */
14  package ch.qos.logback.core;
15    
16  import ch.qos.logback.core.spi.ContextAware;
17  import ch.qos.logback.core.spi.FilterAttachable;
18  import ch.qos.logback.core.spi.LifeCycle;
19    
20  
21  public interface Appender<E> extends LifeCycle, ContextAware, FilterAttachable<E> {
22  
23    /**
24     * Get the name of this appender. The name uniquely identifies the appender.
25     */
26    public String getName();
27  
28    /**
29     * This is where an appender accomplishes its work. Note that the argument 
30     * is of type Object.
31     * @param event
32     */
33    void doAppend(E event) throws LogbackException;
34  
35    /**
36     * Set the {@link Layout} for this appender.
37     */
38    public void setLayout(Layout<E> layout);
39  
40    /**
41     * Returns this appenders layout.
42     */
43    public Layout<E> getLayout();
44  
45    /**
46     * Set the name of this appender. The name is used by other components to
47     * identify this appender.
48     * 
49     */
50    public void setName(String name);
51    
52  }