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 }