[logback-dev] svn commit: r709 - in logback/trunk: logback-classic/src/main/java/ch/qos/logback/classic logback-classic/src/main/java/ch/qos/logback/classic/util logback-core/src/main/java/ch/qos/logback/core/joran logback-core/src/main/java/ch/qos/logback/core/joran/action logback-core/src/main/java/ch/qos/logback/core/joran/event logback-core/src/main/java/ch/qos/logback/core/joran/spi logback-core/src/test/java/ch/qos/logback/core logback-core/src/test/java/ch/qos/logback/core/joran logback-core/src/test/java/ch/qos/logback/core/joran/event
noreply.ceki at qos.ch
noreply.ceki at qos.ch
Wed Oct 18 16:22:04 CEST 2006
Author: ceki
Date: Wed Oct 18 16:22:03 2006
New Revision: 709
Added:
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/BodyEvent.java
- copied, changed from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/BodyEvent.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/EndEvent.java
- copied, changed from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EndEvent.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/InPlayListener.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEvent.java
- copied, changed from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEvent.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEventRecorder.java
- copied, changed from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEventRecorder.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/StartEvent.java
- copied, changed from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/StartEvent.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/EventRecorderTest.java
- copied, changed from r706, /logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/EventRecorderTest.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/InPlayFireTest.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/ListenAction.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/PackageTest.java
Removed:
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/BodyEvent.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EndEvent.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEvent.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEventRecorder.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/StartEvent.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/EventRecorderTest.java
Modified:
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java
logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/LoggerStatusPrinter.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/JoranConfiguratorBase.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/Action.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ActionException.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EventPlayer.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ExecutionContext.java
logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/Interpreter.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/AllTest.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/PackageTest.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/SkippingInInterpreterTest.java
logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/TrivialConfigurator.java
Log:
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/Logger.java Wed Oct 18 16:22:03 2006
@@ -1,11 +1,11 @@
/**
- * LOGBack: the reliable, fast and flexible logging library for Java.
- *
- * Copyright (C) 1999-2005, QOS.ch, LOGBack.com
- *
- * This library is free software, you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
*/
package ch.qos.logback.classic;
@@ -25,19 +25,20 @@
import ch.qos.logback.core.spi.AppenderAttachable;
import ch.qos.logback.core.spi.AppenderAttachableImpl;
-
-public final class Logger implements org.slf4j.Logger, AppenderAttachable, Serializable {
+public final class Logger implements org.slf4j.Logger, AppenderAttachable,
+ Serializable {
/**
- *
- */
- private static final long serialVersionUID = 5454405123156820674L;
+ *
+ */
+ private static final long serialVersionUID = 5454405123156820674L;
- /**
+ /**
* The fully qualified name of this class. Used in gathering caller
* information.
*/
- public static final String FQCN = ch.qos.logback.classic.Logger.class.getName();
+ public static final String FQCN = ch.qos.logback.classic.Logger.class
+ .getName();
static int instanceCount = 0;
@@ -79,7 +80,7 @@
// loggerRemoteView cannot be final because it may change as a consequence
// of changes in LoggerContext
LoggerRemoteView loggerRemoteView;
-
+
Logger(String name, Logger parent, LoggerContext loggerContext) {
this.name = name;
this.parent = parent;
@@ -275,7 +276,7 @@
// No appenders in hierarchy
if (writes == 0) {
- loggerContext.noAppenderDefinedWarning(this);
+ loggerContext.noAppenderDefinedWarning(this);
}
}
@@ -363,10 +364,9 @@
}
/**
- * The next three methods could be merged.
- * However, we decided not to merge them to make the calls to
- * these methods more easily understandable, avoiding many instances
- * of passing null parameters.
+ * The next three methods could be merged. However, we decided not to merge
+ * them to make the calls to these methods more easily understandable,
+ * avoiding many instances of passing null parameters.
*/
private void filterAndLog(String caller, Level level, String format,
Throwable t) {
@@ -401,19 +401,19 @@
public void debug(String format, Object arg) {
if (isDebugEnabled()) {
- filterAndLog(FQCN, Level.DEBUG, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.DEBUG, format, new Object[] { arg }, null);
}
}
public void debug(String format, Object arg1, Object arg2) {
if (isDebugEnabled()) {
- filterAndLog(FQCN, Level.DEBUG, format, new Object[] {arg1, arg2}, null);
+ filterAndLog(FQCN, Level.DEBUG, format, new Object[] { arg1, arg2 }, null);
}
}
public void debug(String format, Object[] argArray) {
if (isDebugEnabled()) {
- filterAndLog(FQCN, Level.DEBUG, format, new Object[] {argArray}, null);
+ filterAndLog(FQCN, Level.DEBUG, format, new Object[] { argArray }, null);
}
}
@@ -431,21 +431,22 @@
public void debug(Marker marker, String format, Object arg) {
if (isDebugEnabled()) {
- filterAndLog(FQCN, Level.DEBUG, marker, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.DEBUG, marker, format, new Object[] { arg },
+ null);
}
}
public void debug(Marker marker, String format, Object arg1, Object arg2) {
if (isDebugEnabled()) {
filterAndLog(FQCN, Level.DEBUG, marker, format,
- new Object[] {arg1, arg2}, null);
+ new Object[] { arg1, arg2 }, null);
}
}
public void debug(Marker marker, String format, Object[] argArray) {
if (isDebugEnabled()) {
- filterAndLog(FQCN, Level.DEBUG, marker, format, new Object[] {argArray},
- null);
+ filterAndLog(FQCN, Level.DEBUG, marker, format,
+ new Object[] { argArray }, null);
}
}
@@ -463,19 +464,19 @@
public void error(String format, Object arg) {
if (isErrorEnabled()) {
- filterAndLog(FQCN, Level.ERROR, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.ERROR, format, new Object[] { arg }, null);
}
}
public void error(String format, Object arg1, Object arg2) {
if (isErrorEnabled()) {
- filterAndLog(FQCN, Level.ERROR, format, new Object[] {arg1, arg2}, null);
+ filterAndLog(FQCN, Level.ERROR, format, new Object[] { arg1, arg2 }, null);
}
}
public void error(String format, Object[] argArray) {
if (isErrorEnabled()) {
- filterAndLog(FQCN, Level.ERROR, format, new Object[] {argArray}, null);
+ filterAndLog(FQCN, Level.ERROR, format, new Object[] { argArray }, null);
}
}
@@ -493,21 +494,22 @@
public void error(Marker marker, String format, Object arg) {
if (isErrorEnabled()) {
- filterAndLog(FQCN, Level.ERROR, marker, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.ERROR, marker, format, new Object[] { arg },
+ null);
}
}
public void error(Marker marker, String format, Object arg1, Object arg2) {
if (isErrorEnabled()) {
filterAndLog(FQCN, Level.ERROR, marker, format,
- new Object[] {arg1, arg2}, null);
+ new Object[] { arg1, arg2 }, null);
}
}
public void error(Marker marker, String format, Object[] argArray) {
if (isErrorEnabled()) {
- filterAndLog(FQCN, Level.ERROR, marker, format, new Object[] {argArray},
- null);
+ filterAndLog(FQCN, Level.ERROR, marker, format,
+ new Object[] { argArray }, null);
}
}
@@ -525,19 +527,19 @@
public void info(String format, Object arg) {
if (isInfoEnabled()) {
- filterAndLog(FQCN, Level.INFO, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.INFO, format, new Object[] { arg }, null);
}
}
public void info(String format, Object arg1, Object arg2) {
if (isInfoEnabled()) {
- filterAndLog(FQCN, Level.INFO, format, new Object[] {arg1, arg2}, null);
+ filterAndLog(FQCN, Level.INFO, format, new Object[] { arg1, arg2 }, null);
}
}
public void info(String format, Object[] argArray) {
if (isInfoEnabled()) {
- filterAndLog(FQCN, Level.INFO, format, new Object[] {argArray}, null);
+ filterAndLog(FQCN, Level.INFO, format, new Object[] { argArray }, null);
}
}
@@ -555,20 +557,20 @@
public void info(Marker marker, String format, Object arg) {
if (isInfoEnabled()) {
- filterAndLog(FQCN, Level.INFO, marker, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.INFO, marker, format, new Object[] { arg }, null);
}
}
public void info(Marker marker, String format, Object arg1, Object arg2) {
if (isInfoEnabled()) {
- filterAndLog(FQCN, Level.INFO, marker, format, new Object[] {arg1, arg2},
- null);
+ filterAndLog(FQCN, Level.INFO, marker, format,
+ new Object[] { arg1, arg2 }, null);
}
}
public void info(Marker marker, String format, Object[] argArray) {
if (isInfoEnabled()) {
- filterAndLog(FQCN, Level.INFO, marker, format, new Object[] {argArray},
+ filterAndLog(FQCN, Level.INFO, marker, format, new Object[] { argArray },
null);
}
}
@@ -610,9 +612,9 @@
public boolean isWarnEnabled(Marker marker) {
return isWarnEnabled();
}
-
+
public boolean isEnabledFor(Level level) {
- return (effectiveLevelInt <= level.levelInt);
+ return (effectiveLevelInt <= level.levelInt);
}
public void warn(String msg) {
@@ -629,19 +631,19 @@
public void warn(String format, Object arg) {
if (isWarnEnabled()) {
- filterAndLog(FQCN, Level.WARN, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.WARN, format, new Object[] { arg }, null);
}
}
public void warn(String format, Object arg1, Object arg2) {
if (isWarnEnabled()) {
- filterAndLog(FQCN, Level.WARN, format, new Object[] {arg1, arg2}, null);
+ filterAndLog(FQCN, Level.WARN, format, new Object[] { arg1, arg2 }, null);
}
}
public void warn(String format, Object[] argArray) {
if (effectiveLevelInt <= Level.WARN_INT) {
- filterAndLog(FQCN, Level.WARN, format, new Object[] {argArray}, null);
+ filterAndLog(FQCN, Level.WARN, format, new Object[] { argArray }, null);
}
}
@@ -653,21 +655,21 @@
public void warn(Marker marker, String format, Object arg) {
if (isWarnEnabled()) {
- filterAndLog(FQCN, Level.WARN, marker, format, new Object[] {arg}, null);
+ filterAndLog(FQCN, Level.WARN, marker, format, new Object[] { arg }, null);
}
}
public void warn(Marker marker, String format, Object[] argArray) {
if (isWarnEnabled()) {
- filterAndLog(FQCN, Level.WARN, marker, format, new Object[] {argArray},
+ filterAndLog(FQCN, Level.WARN, marker, format, new Object[] { argArray },
null);
}
}
public void warn(Marker marker, String format, Object arg1, Object arg2) {
if (isWarnEnabled()) {
- filterAndLog(FQCN, Level.WARN, marker, format, new Object[] {arg1, arg2},
- null);
+ filterAndLog(FQCN, Level.WARN, marker, format,
+ new Object[] { arg1, arg2 }, null);
}
}
@@ -691,18 +693,18 @@
/**
* Return the context for this logger.
+ *
* @return
*/
- public LoggerContext getLoggerContext() {
- return loggerContext;
- }
-
-
- public LoggerRemoteView getLoggerRemoteView() {
- return loggerRemoteView;
- }
-
- void buildRemoteView() {
- this.loggerRemoteView = new LoggerRemoteView(name, loggerContext);
- }
+ public LoggerContext getLoggerContext() {
+ return loggerContext;
+ }
+
+ public LoggerRemoteView getLoggerRemoteView() {
+ return loggerRemoteView;
+ }
+
+ void buildRemoteView() {
+ this.loggerRemoteView = new LoggerRemoteView(name, loggerContext);
+ }
}
Modified: logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/LoggerStatusPrinter.java
==============================================================================
--- logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/LoggerStatusPrinter.java (original)
+++ logback/trunk/logback-classic/src/main/java/ch/qos/logback/classic/util/LoggerStatusPrinter.java Wed Oct 18 16:22:03 2006
@@ -1,3 +1,13 @@
+/**
+ * Logback: the reliable, fast and flexible logging library for Java.
+ *
+ * Copyright (C) 1999-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+
package ch.qos.logback.classic.util;
import org.slf4j.LoggerFactory;
@@ -7,14 +17,13 @@
import ch.qos.logback.core.status.StatusManager;
import ch.qos.logback.core.util.StatusPrinter;
-
public class LoggerStatusPrinter {
-
- public static void printStatusInDefaultContext() {
- Logger logger = (Logger)LoggerFactory.getLogger(LoggerStatusPrinter.class);
- LoggerContext lc = logger.getLoggerContext();
- StatusManager sm = lc.getStatusManager();
+
+ public static void printStatusInDefaultContext() {
+ Logger logger = (Logger) LoggerFactory.getLogger(LoggerStatusPrinter.class);
+ LoggerContext lc = logger.getLoggerContext();
+ StatusManager sm = lc.getStatusManager();
StatusPrinter.print(sm);
- }
-
+ }
+
}
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/GenericConfigurator.java Wed Oct 18 16:22:03 2006
@@ -1,13 +1,12 @@
/**
- * Logback: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation.
*/
-
package ch.qos.logback.core.joran;
import java.io.File;
@@ -19,13 +18,13 @@
import org.xml.sax.InputSource;
+import ch.qos.logback.core.joran.event.SaxEvent;
+import ch.qos.logback.core.joran.event.SaxEventRecorder;
import ch.qos.logback.core.joran.spi.EventPlayer;
import ch.qos.logback.core.joran.spi.ExecutionContext;
import ch.qos.logback.core.joran.spi.Interpreter;
import ch.qos.logback.core.joran.spi.JoranException;
import ch.qos.logback.core.joran.spi.RuleStore;
-import ch.qos.logback.core.joran.spi.SaxEvent;
-import ch.qos.logback.core.joran.spi.SaxEventRecorder;
import ch.qos.logback.core.joran.spi.SimpleRuleStore;
import ch.qos.logback.core.spi.ContextAwareBase;
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/JoranConfiguratorBase.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/JoranConfiguratorBase.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/JoranConfiguratorBase.java Wed Oct 18 16:22:03 2006
@@ -1,7 +1,7 @@
/**
- * Logback: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/Action.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/Action.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/action/Action.java Wed Oct 18 16:22:03 2006
@@ -1,12 +1,13 @@
/**
- * LOGBack: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation.
*/
+
package ch.qos.logback.core.joran.action;
Copied: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/BodyEvent.java (from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/BodyEvent.java)
==============================================================================
--- /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/BodyEvent.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/BodyEvent.java Wed Oct 18 16:22:03 2006
@@ -1,7 +1,17 @@
-package ch.qos.logback.core.joran.spi;
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+package ch.qos.logback.core.joran.event;
import org.xml.sax.Locator;
+
public class BodyEvent extends SaxEvent {
private String text;
Copied: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/EndEvent.java (from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EndEvent.java)
==============================================================================
--- /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EndEvent.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/EndEvent.java Wed Oct 18 16:22:03 2006
@@ -1,7 +1,17 @@
-package ch.qos.logback.core.joran.spi;
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+package ch.qos.logback.core.joran.event;
import org.xml.sax.Locator;
+
public class EndEvent extends SaxEvent {
EndEvent(String namespaceURI, String localName, String qName, Locator locator) {
Added: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/InPlayListener.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/InPlayListener.java Wed Oct 18 16:22:03 2006
@@ -0,0 +1,15 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+package ch.qos.logback.core.joran.event;
+
+
+public interface InPlayListener {
+ public void inPlay(SaxEvent event);
+}
Copied: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEvent.java (from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEvent.java)
==============================================================================
--- /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEvent.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEvent.java Wed Oct 18 16:22:03 2006
@@ -1,14 +1,23 @@
-package ch.qos.logback.core.joran.spi;
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+package ch.qos.logback.core.joran.event;
import org.xml.sax.Locator;
import org.xml.sax.helpers.LocatorImpl;
public class SaxEvent {
- final String namespaceURI;
- final String localName;
- final String qName;
- final Locator locator;
+ final public String namespaceURI;
+ final public String localName;
+ final public String qName;
+ final public Locator locator;
SaxEvent(String namespaceURI, String localName, String qName, Locator locator) {
this.namespaceURI = namespaceURI;
Copied: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEventRecorder.java (from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEventRecorder.java)
==============================================================================
--- /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/SaxEventRecorder.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/SaxEventRecorder.java Wed Oct 18 16:22:03 2006
@@ -1,4 +1,14 @@
-package ch.qos.logback.core.joran.spi;
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+
+package ch.qos.logback.core.joran.event;
import java.io.IOException;
import java.io.InputStream;
@@ -16,6 +26,8 @@
import org.xml.sax.helpers.DefaultHandler;
import ch.qos.logback.core.Context;
+import ch.qos.logback.core.joran.spi.JoranException;
+import ch.qos.logback.core.joran.spi.Pattern;
import ch.qos.logback.core.spi.ContextAware;
import ch.qos.logback.core.spi.ContextAwareImpl;
import ch.qos.logback.core.status.Status;
Copied: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/StartEvent.java (from r706, /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/StartEvent.java)
==============================================================================
--- /logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/StartEvent.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/event/StartEvent.java Wed Oct 18 16:22:03 2006
@@ -1,13 +1,25 @@
-package ch.qos.logback.core.joran.spi;
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+
+package ch.qos.logback.core.joran.event;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
import org.xml.sax.helpers.AttributesImpl;
+import ch.qos.logback.core.joran.spi.Pattern;
+
public class StartEvent extends SaxEvent {
- final Attributes attributes;
- final Pattern pattern;
+ final public Attributes attributes;
+ final public Pattern pattern;
StartEvent(Pattern pattern, String namespaceURI, String localName, String qName,
Attributes attributes, Locator locator) {
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ActionException.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ActionException.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ActionException.java Wed Oct 18 16:22:03 2006
@@ -1,7 +1,7 @@
/**
- * LOGBack: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EventPlayer.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EventPlayer.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/EventPlayer.java Wed Oct 18 16:22:03 2006
@@ -1,7 +1,21 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
package ch.qos.logback.core.joran.spi;
import java.util.List;
+import ch.qos.logback.core.joran.event.BodyEvent;
+import ch.qos.logback.core.joran.event.EndEvent;
+import ch.qos.logback.core.joran.event.SaxEvent;
+import ch.qos.logback.core.joran.event.StartEvent;
+
public class EventPlayer {
final Interpreter interpreter;
@@ -11,16 +25,24 @@
}
public void play(List<SaxEvent> seList) {
+
for(SaxEvent se : seList) {
if(se instanceof StartEvent) {
+ // invoke fireInPlay before startElement processing
+ interpreter.getExecutionContext().fireInPlay(se);
interpreter.startElement((StartEvent) se);
}
if(se instanceof BodyEvent) {
+ // invoke fireInPlay before characters processing
+ interpreter.getExecutionContext().fireInPlay(se);
interpreter.characters((BodyEvent) se);
}
if(se instanceof EndEvent) {
interpreter.endElement((EndEvent) se);
+ // invoke fireInPlay after endElement processing
+ interpreter.getExecutionContext().fireInPlay(se);
}
+
}
}
}
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ExecutionContext.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ExecutionContext.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ExecutionContext.java Wed Oct 18 16:22:03 2006
@@ -1,7 +1,7 @@
/**
- * LOGBack: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
@@ -9,8 +9,10 @@
*/
package ch.qos.logback.core.joran.spi;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Stack;
@@ -18,6 +20,8 @@
import org.xml.sax.Locator;
import ch.qos.logback.core.joran.action.Action;
+import ch.qos.logback.core.joran.event.InPlayListener;
+import ch.qos.logback.core.joran.event.SaxEvent;
import ch.qos.logback.core.spi.ContextAwareBase;
import ch.qos.logback.core.status.ErrorStatus;
import ch.qos.logback.core.status.InfoStatus;
@@ -38,7 +42,8 @@
Map<String, Object> objectMap;
Properties substitutionProperties;
Interpreter joranInterpreter;
-
+ final List<InPlayListener> listenerList = new ArrayList<InPlayListener>();
+
public ExecutionContext(Interpreter joranInterpreter) {
this.joranInterpreter = joranInterpreter;
objectStack = new Stack<Object> ();
@@ -165,4 +170,22 @@
}
return OptionHelper.substVars(value, substitutionProperties);
}
+
+ public void addInPlayListener(InPlayListener ipl) {
+ if(listenerList.contains(ipl)) {
+ System.out.println("InPlayListener "+ipl+" has been already registered");
+ } else {
+ listenerList.add(ipl);
+ }
+ }
+
+ public boolean removeInPlayListener(InPlayListener ipl) {
+ return listenerList.remove(ipl);
+ }
+
+ void fireInPlay(SaxEvent event) {
+ for(InPlayListener ipl: listenerList) {
+ ipl.inPlay(event);
+ }
+ }
}
Modified: logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/Interpreter.java
==============================================================================
--- logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/Interpreter.java (original)
+++ logback/trunk/logback-core/src/main/java/ch/qos/logback/core/joran/spi/Interpreter.java Wed Oct 18 16:22:03 2006
@@ -1,13 +1,12 @@
/**
- * LOGBack: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation.
*/
-
package ch.qos.logback.core.joran.spi;
import java.util.ArrayList;
@@ -21,6 +20,9 @@
import ch.qos.logback.core.joran.action.Action;
import ch.qos.logback.core.joran.action.ImplicitAction;
+import ch.qos.logback.core.joran.event.BodyEvent;
+import ch.qos.logback.core.joran.event.EndEvent;
+import ch.qos.logback.core.joran.event.StartEvent;
/**
* <id>Interpreter</id> is Joran's main driving class. It extends SAX
@@ -57,9 +59,10 @@
*/
public class Interpreter {
private static List EMPTY_LIST = new Vector(0);
- private RuleStore ruleStore;
- private ExecutionContext ec;
- private ArrayList<ImplicitAction> implicitActions;
+
+ final private RuleStore ruleStore;
+ final private ExecutionContext ec;
+ final private ArrayList<ImplicitAction> implicitActions;
Pattern pattern;
Locator locator;
@@ -321,10 +324,4 @@
public RuleStore getRuleStore() {
return ruleStore;
}
-
- public void setRuleStore(RuleStore ruleStore) {
- this.ruleStore = ruleStore;
- }
-
-
}
Modified: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/AllTest.java
==============================================================================
--- logback/trunk/logback-core/src/test/java/ch/qos/logback/core/AllTest.java (original)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/AllTest.java Wed Oct 18 16:22:03 2006
@@ -1,3 +1,12 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
package ch.qos.logback.core;
import junit.framework.Test;
Modified: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/PackageTest.java
==============================================================================
--- logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/PackageTest.java (original)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/PackageTest.java Wed Oct 18 16:22:03 2006
@@ -1,13 +1,12 @@
/**
- * Logback: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation.
*/
-
package ch.qos.logback.core.joran;
import junit.framework.Test;
@@ -19,8 +18,8 @@
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(SkippingInInterpreterTest.class);
- suite.addTestSuite(EventRecorderTest.class);
suite.addTestSuite(TrivialcConfiguratorTest.class);
+ suite.addTest(ch.qos.logback.core.joran.event.PackageTest.suite());
suite.addTest(ch.qos.logback.core.joran.spi.PackageTest.suite());
return suite;
}
Modified: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/SkippingInInterpreterTest.java
==============================================================================
--- logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/SkippingInInterpreterTest.java (original)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/SkippingInInterpreterTest.java Wed Oct 18 16:22:03 2006
@@ -1,5 +1,5 @@
/**
- * LOGBack: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework.
*
* Copyright (C) 1999-2006, QOS.ch
*
Modified: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/TrivialConfigurator.java
==============================================================================
--- logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/TrivialConfigurator.java (original)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/TrivialConfigurator.java Wed Oct 18 16:22:03 2006
@@ -1,3 +1,12 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework.
+ *
+ * Copyright (C) 1999-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
package ch.qos.logback.core.joran;
import java.util.HashMap;
@@ -11,7 +20,7 @@
HashMap<Pattern, Action> rulesMap;
- TrivialConfigurator(HashMap<Pattern, Action> rules) {
+ public TrivialConfigurator(HashMap<Pattern, Action> rules) {
this.rulesMap = rules;
}
Copied: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/EventRecorderTest.java (from r706, /logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/EventRecorderTest.java)
==============================================================================
--- /logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/EventRecorderTest.java (original)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/EventRecorderTest.java Wed Oct 18 16:22:03 2006
@@ -1,13 +1,13 @@
/**
- * Logback: the generic, reliable, fast and flexible logging framework.
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
*
- * Copyright (C) 1999-2006, QOS.ch
+ * Copyright (C) 2000-2006, QOS.ch
*
* This library is free software, you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation.
*/
-package ch.qos.logback.core.joran;
+package ch.qos.logback.core.joran.event;
import java.io.FileInputStream;
import java.util.List;
@@ -23,10 +23,10 @@
import ch.qos.logback.core.Context;
import ch.qos.logback.core.ContextBase;
-import ch.qos.logback.core.joran.spi.BodyEvent;
-import ch.qos.logback.core.joran.spi.SaxEvent;
-import ch.qos.logback.core.joran.spi.SaxEventRecorder;
-import ch.qos.logback.core.joran.spi.StartEvent;
+import ch.qos.logback.core.joran.event.BodyEvent;
+import ch.qos.logback.core.joran.event.SaxEvent;
+import ch.qos.logback.core.joran.event.SaxEventRecorder;
+import ch.qos.logback.core.joran.event.StartEvent;
import ch.qos.logback.core.status.Status;
import ch.qos.logback.core.status.StatusManager;
import ch.qos.logback.core.util.Constants;
Added: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/InPlayFireTest.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/InPlayFireTest.java Wed Oct 18 16:22:03 2006
@@ -0,0 +1,43 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+package ch.qos.logback.core.joran.event;
+
+import java.util.HashMap;
+
+import junit.framework.TestCase;
+import ch.qos.logback.core.Context;
+import ch.qos.logback.core.ContextBase;
+import ch.qos.logback.core.joran.TrivialConfigurator;
+import ch.qos.logback.core.joran.action.Action;
+import ch.qos.logback.core.joran.spi.JoranException;
+import ch.qos.logback.core.joran.spi.Pattern;
+import ch.qos.logback.core.util.Constants;
+
+public class InPlayFireTest extends TestCase {
+
+ Context context = new ContextBase();
+ HashMap<Pattern, Action> rulesMap = new HashMap<Pattern, Action>();
+
+ public void testBasic() throws JoranException {
+ ListenAction listenAction = new ListenAction();
+
+ rulesMap.put(new Pattern("fire"), listenAction);
+ TrivialConfigurator gc = new TrivialConfigurator(rulesMap);
+
+ gc.setContext(context);
+ gc.doConfigure(Constants.TEST_DIR_PREFIX + "input/joran/fire1.xml");
+
+ assertEquals(3, listenAction.getSeList().size());
+ assertTrue(listenAction.getSeList().get(0) instanceof StartEvent);
+ assertTrue(listenAction.getSeList().get(1) instanceof BodyEvent);
+ assertTrue(listenAction.getSeList().get(2) instanceof EndEvent);
+
+ }
+}
Added: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/ListenAction.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/ListenAction.java Wed Oct 18 16:22:03 2006
@@ -0,0 +1,46 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+
+package ch.qos.logback.core.joran.event;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.xml.sax.Attributes;
+
+import ch.qos.logback.core.joran.action.Action;
+import ch.qos.logback.core.joran.spi.ActionException;
+import ch.qos.logback.core.joran.spi.ExecutionContext;
+
+public class ListenAction extends Action implements InPlayListener {
+
+ List<SaxEvent> seList = new ArrayList<SaxEvent>();
+
+ @Override
+ public void begin(ExecutionContext ec, String name, Attributes attributes)
+ throws ActionException {
+ ec.addInPlayListener(this);
+ }
+
+ @Override
+ public void end(ExecutionContext ec, String name) throws ActionException {
+ ec.removeInPlayListener(this);
+
+ }
+
+ public void inPlay(SaxEvent event) {
+ seList.add(event);
+ }
+
+ public List<SaxEvent> getSeList() {
+ return seList;
+ }
+
+}
Added: logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/PackageTest.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-core/src/test/java/ch/qos/logback/core/joran/event/PackageTest.java Wed Oct 18 16:22:03 2006
@@ -0,0 +1,24 @@
+/**
+ * Logback: the generic, reliable, fast and flexible logging framework for Java.
+ *
+ * Copyright (C) 2000-2006, QOS.ch
+ *
+ * This library is free software, you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation.
+ */
+package ch.qos.logback.core.joran.event;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+public class PackageTest extends TestCase {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite();
+ suite.addTestSuite(EventRecorderTest.class);
+ suite.addTestSuite(InPlayFireTest.class);
+ return suite;
+ }
+}
More information about the logback-dev
mailing list