001/** 002 * Logback: the reliable, generic, fast and flexible logging framework. 003 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 004 * 005 * This program and the accompanying materials are dual-licensed under 006 * either the terms of the Eclipse Public License v1.0 as published by 007 * the Eclipse Foundation 008 * 009 * or (per the licensee's choosing) 010 * 011 * under the terms of the GNU Lesser General Public License version 2.1 012 * as published by the Free Software Foundation. 013 */ 014package ch.qos.logback.core.joran.action.ext; 015 016import org.xml.sax.Attributes; 017 018import ch.qos.logback.core.joran.action.Action; 019import ch.qos.logback.core.joran.spi.ActionException; 020import ch.qos.logback.core.joran.spi.InterpretationContext; 021 022public class IncAction extends Action { 023 024 static public int beginCount; 025 static public int endCount; 026 static public int errorCount; 027 028 static public void reset() { 029 beginCount = 0; 030 endCount = 0; 031 errorCount = 0; 032 } 033 034 /** 035 * Instantiates an layout of the given class and sets its name. 036 * 037 */ 038 public void begin(InterpretationContext ec, String name, Attributes attributes) throws ActionException { 039 // System.out.println("IncAction Begin called"); 040 beginCount++; 041 String val = attributes.getValue("increment"); 042 if (!"1".equals(val)) { 043 errorCount++; 044 throw new ActionException(); 045 } 046 } 047 048 /** 049 * Once the children elements are also parsed, now is the time to activate 050 * the appender options. 051 */ 052 public void end(InterpretationContext ec, String name) { 053 endCount++; 054 } 055}