View Javadoc
1   /**
2    * Logback: the reliable, generic, fast and flexible logging framework.
3    * Copyright (C) 1999-2015, 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.joran.action.ext;
15  
16  import org.xml.sax.Attributes;
17  
18  import ch.qos.logback.core.joran.action.Action;
19  import ch.qos.logback.core.joran.spi.ActionException;
20  import ch.qos.logback.core.joran.spi.SaxEventInterpretationContext;
21  
22  public class IncAction extends Action {
23  
24      static public int beginCount;
25      static public int endCount;
26      static public int errorCount;
27  
28      static public void reset() {
29          beginCount = 0;
30          endCount = 0;
31          errorCount = 0;
32      }
33  
34      /**
35       * Instantiates a layout of the given class and sets its name.
36       *
37       */
38      public void begin(SaxEventInterpretationContext ec, String name, Attributes attributes) throws ActionException {
39          // System.out.println("IncAction Begin called");
40          beginCount++;
41          String val = attributes.getValue("increment");
42          if (!"1".equals(val)) {
43              errorCount++;
44              throw new ActionException();
45          }
46      }
47  
48      /**
49       * Once the children elements are also parsed, now is the time to activate the
50       * appender options.
51       */
52      public void end(SaxEventInterpretationContext ec, String name) {
53          endCount++;
54      }
55  }