logback-dev
Threads by month
- ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
March 2011
- 6 participants
- 85 discussions

[GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.28-37-ge4aa27e
by git-noreply@pixie.qos.ch 29 Mar '11
by git-noreply@pixie.qos.ch 29 Mar '11
29 Mar '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".
The branch, master has been updated
via e4aa27eb1dae6b6278ab139444d769edf1280411 (commit)
from 0bc69a589371a02911e156c0f792231928cb40a8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=e4aa27eb1dae6b6278ab1394…
http://github.com/ceki/logback/commit/e4aa27eb1dae6b6278ab139444d769edf1280…
commit e4aa27eb1dae6b6278ab139444d769edf1280411
Author: Ceki Gulcu <ceki(a)qos.ch>
Date: Tue Mar 29 23:00:32 2011 +0200
refactored millesecond cached formatting code into CachingDateFormatter
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java
index 10de74a..10e7776 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java
@@ -13,21 +13,18 @@
*/
package ch.qos.logback.access.pattern;
-import java.text.SimpleDateFormat;
-import java.util.Date;
import java.util.List;
import java.util.TimeZone;
import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.CoreConstants;
-
+import ch.qos.logback.core.util.CachingDateFormatter;
public class DateConverter extends AccessConverter {
- long lastTimestamp = -1;
- String timesmapStr = null;
- SimpleDateFormat simpleFormat = null;
+
+ CachingDateFormatter cachingDateFormatter = null;
public void start() {
@@ -41,13 +38,13 @@ public class DateConverter extends AccessConverter {
}
try {
- simpleFormat = new SimpleDateFormat(datePattern);
+ cachingDateFormatter = new CachingDateFormatter(datePattern);
//maximumCacheValidity = CachedDateFormat.getMaximumCacheValidity(pattern);
} catch (IllegalArgumentException e) {
addWarn(
"Could not instantiate SimpleDateFormat with pattern " + datePattern, e);
// default to the ISO8601 format
- simpleFormat = new SimpleDateFormat(CoreConstants.CLF_DATE_PATTERN);
+ cachingDateFormatter = new CachingDateFormatter(CoreConstants.CLF_DATE_PATTERN);
}
List optionList = getOptionList();
@@ -55,23 +52,13 @@ public class DateConverter extends AccessConverter {
// if the option list contains a TZ option, then set it.
if (optionList != null && optionList.size() > 1) {
TimeZone tz = TimeZone.getTimeZone((String) optionList.get(1));
- simpleFormat.setTimeZone(tz);
+ cachingDateFormatter.setTimeZone(tz);
}
}
public String convert(IAccessEvent accessEvent) {
-
long timestamp = accessEvent.getTimeStamp();
-
- // if called multiple times within the same millisecond
- // return old value
- if(timestamp == lastTimestamp) {
- return timesmapStr;
- } else {
- lastTimestamp = timestamp;
- timesmapStr = simpleFormat.format(new Date(timestamp));
- return timesmapStr;
- }
+ return cachingDateFormatter.format(timestamp);
}
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java b/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
index c71f1e6..19c940a 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
@@ -63,7 +63,7 @@ public class ConverterTest {
DateConverter converter = new DateConverter();
converter.start();
String result = converter.convert(event);
- assertEquals(converter.simpleFormat.format(event.getTimeStamp()), result);
+ assertEquals(converter.cachingDateFormatter.format(event.getTimeStamp()), result);
}
public void testLineLocalPortConverter() {
diff --git a/logback-classic/pom.xml b/logback-classic/pom.xml
index 7a32396..8eae411 100644
--- a/logback-classic/pom.xml
+++ b/logback-classic/pom.xml
@@ -357,6 +357,7 @@
org.xml.*;resolution:=optional,
org.slf4j, ch.qos.logback.core.rolling,
ch.qos.logback.core.rolling.helper,
+ ch.qos.logback.core.util,
org.codehaus.groovy.*;resolution:=optional,
groovy.lang.*;resolution:=optional,
*
diff --git a/logback-classic/src/main/groovy/ch/qos/logback/classic/gaffer/ConfigurationDelegate.groovy b/logback-classic/src/main/groovy/ch/qos/logback/classic/gaffer/ConfigurationDelegate.groovy
index 8193d52..54cc685 100644
--- a/logback-classic/src/main/groovy/ch/qos/logback/classic/gaffer/ConfigurationDelegate.groovy
+++ b/logback-classic/src/main/groovy/ch/qos/logback/classic/gaffer/ConfigurationDelegate.groovy
@@ -30,7 +30,8 @@ import java.text.SimpleDateFormat
import ch.qos.logback.classic.turbo.TurboFilter
import ch.qos.logback.core.CoreConstants
import ch.qos.logback.core.util.ContextUtil
-import ch.qos.logback.core.joran.action.TimestampAction;
+import ch.qos.logback.core.joran.action.TimestampAction
+import ch.qos.logback.core.util.CachingDateFormatter;
/**
* @author Ceki Gücü
@@ -158,17 +159,17 @@ public class ConfigurationDelegate extends ContextAwareBase {
}
String timestamp(String datePattern, long timeReference = -1) {
- Date reference = null;
+ long now = -1;
if(timeReference == -1) {
addInfo("Using current interpretation time, i.e. now, as time reference.");
- reference = new Date()
+ now = System.currentTimeMillis()
} else {
- reference = new Date(timeReference)
- addInfo("Using " + reference +" as time reference.");
+ now = timeReference
+ addInfo("Using " + now +" as time reference.");
}
- SimpleDateFormat sdf = new SimpleDateFormat(datePattern);
- sdf.format(reference)
+ CachingDateFormatter sdf = new CachingDateFormatter(datePattern);
+ sdf.format(now)
}
}
diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java b/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java
index 4f0a449..9b9cfaf 100644
--- a/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java
+++ b/logback-classic/src/main/java/ch/qos/logback/classic/pattern/DateConverter.java
@@ -20,12 +20,13 @@ import java.util.TimeZone;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.CoreConstants;
+import ch.qos.logback.core.util.CachingDateFormatter;
public class DateConverter extends ClassicConverter {
long lastTimestamp = -1;
String timestampStrCache = null;
- SimpleDateFormat simpleFormat = null;
+ CachingDateFormatter cachingDateFormatter = null;
public void start() {
@@ -40,14 +41,14 @@ public class DateConverter extends ClassicConverter {
}
try {
- simpleFormat = new SimpleDateFormat(datePattern);
+ cachingDateFormatter = new CachingDateFormatter(datePattern);
// maximumCacheValidity =
// CachedDateFormat.getMaximumCacheValidity(pattern);
} catch (IllegalArgumentException e) {
addWarn("Could not instantiate SimpleDateFormat with pattern "
+ datePattern, e);
// default to the ISO8601 format
- simpleFormat = new SimpleDateFormat(CoreConstants.ISO8601_PATTERN);
+ cachingDateFormatter = new CachingDateFormatter(CoreConstants.ISO8601_PATTERN);
}
List optionList = getOptionList();
@@ -55,25 +56,12 @@ public class DateConverter extends ClassicConverter {
// if the option list contains a TZ option, then set it.
if (optionList != null && optionList.size() > 1) {
TimeZone tz = TimeZone.getTimeZone((String) optionList.get(1));
- simpleFormat.setTimeZone(tz);
+ cachingDateFormatter.setTimeZone(tz);
}
}
public String convert(ILoggingEvent le) {
long timestamp = le.getTimeStamp();
-
- synchronized (this) {
- // if called multiple times within the same millisecond
- // return cache value
- if (timestamp == lastTimestamp) {
- return timestampStrCache;
- } else {
- lastTimestamp = timestamp;
- // SimpleDateFormat is not thread safe.
- // See also http://jira.qos.ch/browse/LBCLASSIC-36
- timestampStrCache = simpleFormat.format(new Date(timestamp));
- return timestampStrCache;
- }
- }
+ return cachingDateFormatter.format(timestamp);
}
}
diff --git a/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java b/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java
index 9119aa0..10de840 100644
--- a/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java
+++ b/logback-classic/src/test/java/ch/qos/logback/classic/joran/JoranConfiguratorTest.java
@@ -23,6 +23,7 @@ import ch.qos.logback.classic.jul.JULHelper;
import ch.qos.logback.core.pattern.parser.Parser;
import ch.qos.logback.core.pattern.parser.ScanException;
import ch.qos.logback.core.status.Status;
+import ch.qos.logback.core.util.CachingDateFormatter;
import ch.qos.logback.core.util.StatusPrinter;
import org.junit.Ignore;
import org.junit.Test;
@@ -315,8 +316,8 @@ public class JoranConfiguratorTest {
String r = loggerContext.getProperty("testTimestamp");
assertNotNull(r);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
- String expected = sdf.format(new Date());
+ CachingDateFormatter sdf = new CachingDateFormatter("yyyy-MM");
+ String expected = sdf.format(System.currentTimeMillis());
assertEquals("expected \"" + expected + "\" but got " + r, expected, r);
}
diff --git a/logback-classic/src/test/java/ch/qos/logback/classic/rolling/UniqueFileTest.java b/logback-classic/src/test/java/ch/qos/logback/classic/rolling/UniqueFileTest.java
index 18907b6..26cba84 100644
--- a/logback-classic/src/test/java/ch/qos/logback/classic/rolling/UniqueFileTest.java
+++ b/logback-classic/src/test/java/ch/qos/logback/classic/rolling/UniqueFileTest.java
@@ -18,6 +18,7 @@ import static org.junit.Assert.assertTrue;
import java.text.SimpleDateFormat;
import java.util.Date;
+import ch.qos.logback.core.util.CachingDateFormatter;
import org.junit.Test;
import ch.qos.logback.classic.ClassicTestConstants;
@@ -51,8 +52,8 @@ public class UniqueFileTest {
@Test
public void basic() throws Exception {
loadConfig(ClassicTestConstants.JORAN_INPUT_PREFIX + "unique.xml");
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd'T'HHmmss");
- String timestamp = sdf.format(new Date());
+ CachingDateFormatter sdf = new CachingDateFormatter("yyyyMMdd'T'HHmmss");
+ String timestamp = sdf.format(System.currentTimeMillis());
StatusChecker sc = new StatusChecker(lc);
assertTrue(sc.isErrorFree());
diff --git a/logback-core/pom.xml b/logback-core/pom.xml
index 03383ed..24671f3 100644
--- a/logback-core/pom.xml
+++ b/logback-core/pom.xml
@@ -85,12 +85,6 @@
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <optional>true</optional>
- </dependency>
-
</dependencies>
diff --git a/logback-core/src/main/java/ch/qos/logback/core/joran/action/TimestampAction.java b/logback-core/src/main/java/ch/qos/logback/core/joran/action/TimestampAction.java
index d252773..992f4f8 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/joran/action/TimestampAction.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/joran/action/TimestampAction.java
@@ -16,6 +16,7 @@ package ch.qos.logback.core.joran.action;
import java.text.SimpleDateFormat;
import java.util.Date;
+import ch.qos.logback.core.util.CachingDateFormatter;
import org.xml.sax.Attributes;
import ch.qos.logback.core.joran.spi.ActionException;
@@ -53,12 +54,12 @@ public class TimestampAction extends Action {
}
String timeReferenceStr = attributes.getValue(TIME_REFERENCE_ATTRIBUTE);
- Date timeReference = null;
+ long timeReference = -1;
if (CONTEXT_BIRTH.equalsIgnoreCase(timeReferenceStr)) {
addInfo("Using context birth as time reference.");
- timeReference = new Date(context.getBirthTime());
+ timeReference = context.getBirthTime();
} else {
- timeReference = new Date();
+ timeReference = System.currentTimeMillis();
addInfo("Using current interpretation time, i.e. now, as time reference.");
}
@@ -66,7 +67,7 @@ public class TimestampAction extends Action {
if (inError)
return;
- SimpleDateFormat sdf = new SimpleDateFormat(datePatternStr);
+ CachingDateFormatter sdf = new CachingDateFormatter(datePatternStr);
String val = sdf.format(timeReference);
addInfo("Adding property to the context with key=\"" + keyStr
diff --git a/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/DateTokenConverter.java b/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/DateTokenConverter.java
index 3c7a82d..4ef5e2f 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/DateTokenConverter.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/rolling/helper/DateTokenConverter.java
@@ -18,6 +18,7 @@ import java.util.Date;
import ch.qos.logback.core.CoreConstants;
import ch.qos.logback.core.pattern.DynamicConverter;
+import ch.qos.logback.core.util.CachingDateFormatter;
/**
* Returns a date formatted by SimpleDateFormatter.
@@ -33,7 +34,7 @@ public class DateTokenConverter<E> extends DynamicConverter<E> implements MonoTy
public static final String DEFAULT_DATE_PATTERN = CoreConstants.DAILY_DATE_PATTERN;
private String datePattern;
- private SimpleDateFormat sdf;
+ private CachingDateFormatter cdf;
public DateTokenConverter() {
}
@@ -43,11 +44,11 @@ public class DateTokenConverter<E> extends DynamicConverter<E> implements MonoTy
if (this.datePattern == null) {
this.datePattern = DEFAULT_DATE_PATTERN;
}
- sdf = new SimpleDateFormat(datePattern);
+ cdf = new CachingDateFormatter(datePattern);
}
public String convert(Date date) {
- return sdf.format(date);
+ return cdf.format(date.getTime());
}
public String convert(Object o) {
diff --git a/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java b/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
index fc3f6a0..9009280 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/status/ViewStatusMessagesServletBase.java
@@ -28,11 +28,12 @@ import javax.servlet.http.HttpServletResponse;
import ch.qos.logback.core.CoreConstants;
import ch.qos.logback.core.helpers.Transform;
+import ch.qos.logback.core.util.CachingDateFormatter;
abstract public class ViewStatusMessagesServletBase extends HttpServlet {
private static final long serialVersionUID = -3551928133801157219L;
- private static SimpleDateFormat SDF = new SimpleDateFormat(
+ private static CachingDateFormatter SDF = new CachingDateFormatter(
"yyyy-MM-dd HH:mm:ss");
static String SUBMIT = "submit";
diff --git a/logback-core/src/main/java/ch/qos/logback/core/util/CachingDateFormatter.java b/logback-core/src/main/java/ch/qos/logback/core/util/CachingDateFormatter.java
new file mode 100644
index 0000000..028c596
--- /dev/null
+++ b/logback-core/src/main/java/ch/qos/logback/core/util/CachingDateFormatter.java
@@ -0,0 +1,45 @@
+package ch.qos.logback.core.util;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.TimeZone;
+
+/**
+ * A synchronized implementation of SimpleDateFormat which uses caching internally.
+ *
+ * @author Ceki Gücü
+ * @since 0.9.29
+ */
+public class CachingDateFormatter {
+
+
+ long lastTimestamp = -1;
+ String cachedStr = null;
+ final SimpleDateFormat sdf;
+
+ public CachingDateFormatter(String pattern) {
+ sdf = new SimpleDateFormat(pattern);
+ }
+
+ public final String format(long now) {
+
+ // SimpleDateFormat is not thread safe.
+
+ // See also the discussion in http://jira.qos.ch/browse/LBCLASSIC-36
+ // DateFormattingThreadedThroughputCalculator and SelectiveDateFormattingRunnable
+ // are also note worthy
+
+ // The now == lastTimestamp guard minimizes synchronization
+ synchronized (this) {
+ if (now != lastTimestamp) {
+ lastTimestamp = now;
+ cachedStr = sdf.format(new Date(now));
+ }
+ return cachedStr;
+ }
+ }
+
+ public void setTimeZone(TimeZone tz) {
+ sdf.setTimeZone(tz);
+ }
+}
diff --git a/logback-core/src/main/java/ch/qos/logback/core/util/StatusPrinter.java b/logback-core/src/main/java/ch/qos/logback/core/util/StatusPrinter.java
index 79afa8d..ad8a4e2 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/util/StatusPrinter.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/util/StatusPrinter.java
@@ -14,8 +14,6 @@
package ch.qos.logback.core.util;
import java.io.PrintStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -30,7 +28,7 @@ public class StatusPrinter {
private static PrintStream ps = System.out;
- static SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
+ static CachingDateFormatter cachingDateFormat = new CachingDateFormatter(
"HH:mm:ss,SSS");
public static void setPrintStream(PrintStream printStream) {
@@ -151,9 +149,8 @@ public class StatusPrinter {
prefix = indentation + "|-";
}
- if (simpleDateFormat != null) {
- Date date = new Date(s.getDate());
- String dateStr = simpleDateFormat.format(date);
+ if (cachingDateFormat != null) {
+ String dateStr = cachingDateFormat.format(s.getDate());
sb.append(dateStr).append(" ");
}
sb.append(prefix).append(s).append(CoreConstants.LINE_SEPARATOR);
diff --git a/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java b/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java
deleted file mode 100644
index 94b4399..0000000
--- a/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package ch.qos.logback.core.time;
-
-import ch.qos.logback.core.contention.RunnableWithCounterAndDone;
-import ch.qos.logback.core.contention.ThreadedThroughputCalculator;
-import org.joda.time.format.DateTimeFormat;
-import org.joda.time.format.DateTimeFormatter;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-
-public class DateFormattingThroughputTest {
-
-
- ThreadedThroughputCalculator t;
-
- static int THREAD_COUNT = 30;
- static long OVERALL_DURATION_IN_MILLIS = 2000;
-
- static String PATTERN = "yyyy-MM-dd'T'HH:mm:ss";
-
- @Test
- public void sdf() throws InterruptedException {
- ThreadedThroughputCalculator tp = new ThreadedThroughputCalculator(
- OVERALL_DURATION_IN_MILLIS);
-
- SimpleDateFormat sdf = new SimpleDateFormat(PATTERN);
- RunnableWithCounterAndDone[] sdfRunnables = buildSDFRunnables(sdf);
- tp.execute(sdfRunnables);
- tp.printThroughput("SDF with synchronization: ", false);
- }
-
- RunnableWithCounterAndDone[] buildSDFRunnables(SimpleDateFormat sdf) {
- RunnableWithCounterAndDone[] runnables = new RunnableWithCounterAndDone[THREAD_COUNT];
- for (int i = 0; i < THREAD_COUNT; i++) {
- runnables[i] = new SDFRunnabable(sdf);
- }
- return runnables;
- }
-
- @Test
- public void yoda() throws InterruptedException {
- ThreadedThroughputCalculator tp = new ThreadedThroughputCalculator(
- OVERALL_DURATION_IN_MILLIS);
-
- DateTimeFormatter fmt = DateTimeFormat.forPattern(PATTERN);
- RunnableWithCounterAndDone[] yodaRunnables = buildYodaRunnables(fmt);
- tp.execute(yodaRunnables);
- tp.printThroughput("Yoda: ", false);
- }
-
- RunnableWithCounterAndDone[] buildYodaRunnables(DateTimeFormatter fmt) {
- RunnableWithCounterAndDone[] runnables = new RunnableWithCounterAndDone[THREAD_COUNT];
- for (int i = 0; i < THREAD_COUNT; i++) {
- runnables[i] = new YodaTimeRunnable(fmt);
- }
- return runnables;
- }
-
-
- class SDFRunnabable extends RunnableWithCounterAndDone {
-
- SimpleDateFormat sdf;
- long lasttime = -1;
-
- SDFRunnabable(SimpleDateFormat sdf) {
- this.sdf = sdf;
- }
-
- public void run() {
- while (!done) {
- counter++;
- long now = System.currentTimeMillis();
- if (now == lasttime) {
-
- } else {
- lasttime = now;
- synchronized (sdf) {
- sdf.format(new Date());
- }
- }
- }
- }
- }
-
- class YodaTimeRunnable extends RunnableWithCounterAndDone {
-
- DateTimeFormatter yodaDTFt;
- long lasttime = -1;
-
- YodaTimeRunnable(DateTimeFormatter dtf) {
- this.yodaDTFt = dtf;
- }
-
- public void run() {
- while (!done) {
- counter++;
- long now = System.currentTimeMillis();
- if (now == lasttime) {
- } else {
- lasttime = now;
- yodaDTFt.print(now);
- }
- }
- }
- }
-
-}
diff --git a/logback-core/src/test/scala/ch/qos/logback/core/rolling/RollingScaffolding.scala b/logback-core/src/test/scala/ch/qos/logback/core/rolling/RollingScaffolding.scala
index 6b68d2d..905530b 100644
--- a/logback-core/src/test/scala/ch/qos/logback/core/rolling/RollingScaffolding.scala
+++ b/logback-core/src/test/scala/ch/qos/logback/core/rolling/RollingScaffolding.scala
@@ -14,15 +14,15 @@
package ch.qos.logback.core.rolling
import ch.qos.logback.core.{ContextBase, Context}
-import ch.qos.logback.core.util.CoreTestConstants
import ch.qos.logback.core.testUtil.RandomUtil
import java.util.{Date, Calendar}
import java.util.concurrent.TimeUnit
import java.text.SimpleDateFormat
+import ch.qos.logback.core.util.{CachingDateFormatter, CoreTestConstants}
trait RollingScaffolding {
final val DATE_PATTERN_WITH_SECONDS = "yyyy-MM-dd_HH_mm_ss"
- final val SDF = new SimpleDateFormat(DATE_PATTERN_WITH_SECONDS)
+ final val SDF = new CachingDateFormatter(DATE_PATTERN_WITH_SECONDS)
private[rolling] var context: Context = new ContextBase
private[rolling] var diff: Int = RandomUtil.getPositiveInt
protected var currentTime: Long = 0L
@@ -52,7 +52,7 @@ trait RollingScaffolding {
}
protected def addExpectedFileName_ByDate(outputDir: String, testId: String, date: Date, gzExtension: Boolean): Unit = {
- var fn: String = outputDir + testId + "-" + SDF.format(date)
+ var fn: String = outputDir + testId + "-" + SDF.format(date.getTime)
if (gzExtension) {
fn += ".gz"
}
diff --git a/pom.xml b/pom.xml
index 6a30698..514ea01 100755
--- a/pom.xml
+++ b/pom.xml
@@ -167,12 +167,6 @@
<version>${scala.version}</version>
</dependency>
- <dependency>
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- <version>1.6.2</version>
- </dependency>
-
</dependencies>
</dependencyManagement>
-----------------------------------------------------------------------
Summary of changes:
.../qos/logback/access/pattern/DateConverter.java | 27 ++----
.../qos/logback/access/pattern/ConverterTest.java | 2 +-
logback-classic/pom.xml | 1 +
.../classic/gaffer/ConfigurationDelegate.groovy | 15 ++--
.../qos/logback/classic/pattern/DateConverter.java | 24 +---
.../classic/joran/JoranConfiguratorTest.java | 5 +-
.../logback/classic/rolling/UniqueFileTest.java | 5 +-
logback-core/pom.xml | 6 -
.../logback/core/joran/action/TimestampAction.java | 9 +-
.../core/rolling/helper/DateTokenConverter.java | 7 +-
.../core/status/ViewStatusMessagesServletBase.java | 3 +-
.../logback/core/util/CachingDateFormatter.java | 45 ++++++++
.../ch/qos/logback/core/util/StatusPrinter.java | 9 +-
.../core/time/DateFormattingThroughputTest.java | 110 --------------------
.../logback/core/rolling/RollingScaffolding.scala | 6 +-
pom.xml | 6 -
16 files changed, 91 insertions(+), 189 deletions(-)
create mode 100644 logback-core/src/main/java/ch/qos/logback/core/util/CachingDateFormatter.java
delete mode 100644 logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
1
0

[JIRA] Created: (LBCORE-202) Shutdown hook to close logger context
by Tuomas Kiviaho (JIRA) 29 Mar '11
by Tuomas Kiviaho (JIRA) 29 Mar '11
29 Mar '11
Shutdown hook to close logger context
-------------------------------------
Key: LBCORE-202
URL: http://jira.qos.ch/browse/LBCORE-202
Project: logback-core
Issue Type: Improvement
Components: Other
Affects Versions: 0.9.27
Reporter: Tuomas Kiviaho
Assignee: Logback dev list
I'm using header and footer with my file appender and would like footers to be present in file when processes exit (JUnit tests mainly). I figured out a to achieve this by using status listeners and logger context (presented below) combined with shutdown hook. This is something that logback jar could probably in one form or another (spring framework for instance has similar feature for their context).
public class ShutdownHookStatusListener extends ContextAwareBase implements
StatusListener, LifeCycle {
private Thread shutdownHook;
@Override
public void addStatusEvent(Status status) {
}
@Override
public boolean isStarted() {
return this.shutdownHook != null;
}
@Override
public void start() {
if (!this.isStarted()) {
this.shutdownHook = new Thread() {
@Override
public void run() {
LoggerContext loggerContext = (LoggerContext) LoggerFactory
.getILoggerFactory();
loggerContext.stop();
}
};
Runtime runtime = Runtime.getRuntime();
runtime.addShutdownHook(this.shutdownHook);
}
}
@Override
public void stop() {
if (this.isStarted()) {
Runtime runtime = Runtime.getRuntime();
runtime.removeShutdownHook(this.shutdownHook);
this.shutdownHook = null;
}
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
1
0

[GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.28-36-g0bc69a5
by git-noreply@pixie.qos.ch 28 Mar '11
by git-noreply@pixie.qos.ch 28 Mar '11
28 Mar '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".
The branch, master has been updated
via 0bc69a589371a02911e156c0f792231928cb40a8 (commit)
from 427f9bffcf5c603a0e0ee647fa54507068acb7f4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=0bc69a589371a02911e156c0…
http://github.com/ceki/logback/commit/0bc69a589371a02911e156c0f792231928cb4…
commit 0bc69a589371a02911e156c0f792231928cb40a8
Author: Ceki Gulcu <ceki(a)qos.ch>
Date: Mon Mar 28 22:49:31 2011 +0200
typo fix
diff --git a/logback-site/src/site/pages/news.html b/logback-site/src/site/pages/news.html
index a2941f9..928f35b 100644
--- a/logback-site/src/site/pages/news.html
+++ b/logback-site/src/site/pages/news.html
@@ -63,7 +63,7 @@
<p>The AccessEvent class in logback-access module now implements
the IAccessEvent interface. This fixes <a
href="http://jira.qos.ch/browse/LBACCESS-12">LBACCESS-12</a>
- reported by Joen Huxhorn.</p>
+ reported by Joern Huxhorn.</p>
<hr width="80%" align="center" />
-----------------------------------------------------------------------
Summary of changes:
logback-site/src/site/pages/news.html | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
1
0

[JIRA] Created: (LBCLASSIC-257) Please add c'tor LoggerContextVO(String name, Map<String, String> propertyMap, long birthTime) to ch.qos.logback.classic.spi.LoggerContextVO
by Joern Huxhorn (JIRA) 28 Mar '11
by Joern Huxhorn (JIRA) 28 Mar '11
28 Mar '11
Please add c'tor LoggerContextVO(String name, Map<String,String> propertyMap, long birthTime) to ch.qos.logback.classic.spi.LoggerContextVO
-------------------------------------------------------------------------------------------------------------------------------------------
Key: LBCLASSIC-257
URL: http://jira.qos.ch/browse/LBCLASSIC-257
Project: logback-classic
Issue Type: Improvement
Affects Versions: 0.9.29
Reporter: Joern Huxhorn
Assignee: Logback dev list
I'm stuck recreating a Logback classic logging event since I'm unable to create a LoggerContextVO from plain data.
Please add the following c'tor to LoggerContextVO:
public LoggerContextVO(String name, Map<String,String> propertyMap, long birthTime) {
this.name = name;
this.propertyMap = propertyMap;
this.birthTime = birthTime;
}
This is the only thing that prevents me from fully supporting cat/tail of Lilith Logging events using Logback formatters.
See https://github.com/huxi/lilith/blob/master/lilith/src/main/java/de/huxhorn/…
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
2
2

[GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.28-35-g427f9bf
by git-noreply@pixie.qos.ch 28 Mar '11
by git-noreply@pixie.qos.ch 28 Mar '11
28 Mar '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".
The branch, master has been updated
via 427f9bffcf5c603a0e0ee647fa54507068acb7f4 (commit)
from d12e774a989e9045d9ce7065151b0d80a16eafef (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=427f9bffcf5c603a0e0ee647…
http://github.com/ceki/logback/commit/427f9bffcf5c603a0e0ee647fa54507068acb…
commit 427f9bffcf5c603a0e0ee647fa54507068acb7f4
Author: Ceki Gulcu <ceki(a)qos.ch>
Date: Mon Mar 28 22:45:47 2011 +0200
update the list of fixed bugs
diff --git a/logback-site/src/site/pages/news.html b/logback-site/src/site/pages/news.html
index 13d7670..a2941f9 100644
--- a/logback-site/src/site/pages/news.html
+++ b/logback-site/src/site/pages/news.html
@@ -59,6 +59,11 @@
href="http://jira.qos.ch/browse/LBCLASSIC-255">LBCLASSIC-255</a>
by César Álvarez Núñez.
</p>
+
+ <p>The AccessEvent class in logback-access module now implements
+ the IAccessEvent interface. This fixes <a
+ href="http://jira.qos.ch/browse/LBACCESS-12">LBACCESS-12</a>
+ reported by Joen Huxhorn.</p>
<hr width="80%" align="center" />
-----------------------------------------------------------------------
Summary of changes:
logback-site/src/site/pages/news.html | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
1
0

[JIRA] Created: (LBACCESS-12) Please add IAccessEvent (and AccessEventVO) similar to the LoggingEvent counterparts
by Joern Huxhorn (JIRA) 28 Mar '11
by Joern Huxhorn (JIRA) 28 Mar '11
28 Mar '11
Please add IAccessEvent (and AccessEventVO) similar to the LoggingEvent counterparts
------------------------------------------------------------------------------------
Key: LBACCESS-12
URL: http://jira.qos.ch/browse/LBACCESS-12
Project: logback-access
Issue Type: Improvement
Affects Versions: 0.9.20
Reporter: Joern Huxhorn
Assignee: Logback dev list
I'm currently implementing "cat" functionality for Lilith data files, i.e. events stored in Lilith data files can be printed using ch.qos.logback.classic.PatternLayout and ch.qos.logback.access.PatternLayout.
This works for LoggingEvent since I could implement a iLoggingEvent wrapper for my own LoggingEvent.
It does not work for AccessEvent, though, because there is no IAccessEvent interface and I can't instantiate AccessEvent and set the properties manually.
ch.qos.logback.access.PatternLayout is currently working on an AccessEvent and I'd like to use it's functionality.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
2
6

[JIRA] Created: (LBCLASSIC-156) SocketAppender is reporting an WARN if connection could not be established.
by Joern Huxhorn (JIRA) 28 Mar '11
by Joern Huxhorn (JIRA) 28 Mar '11
28 Mar '11
SocketAppender is reporting an WARN if connection could not be established.
---------------------------------------------------------------------------
Key: LBCLASSIC-156
URL: http://jira.qos.ch/browse/LBCLASSIC-156
Project: logback-classic
Issue Type: Improvement
Components: appender
Affects Versions: 0.917
Environment: java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-226)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-92, mixed mode)
Reporter: Joern Huxhorn
Assignee: Logback dev list
This is a followup to LBCLASSIC-143 which changed the message from ERROR to WARN.
The WARN message still results in a dump of the logging status messages.
This means that a whole bunch of text is printed to the console whenever Lilith is started - and it looks quite broken due to the stacktrace.
So there are two possible solutions for this problem:
a) the status is only printed in case of an ERROR
b) SocketAppender considers this as an INFO instead of a WARN.
I think b) would be reasonable. Other WARNs are much more important, like duplicate logback.xml.
Lilith is only an example, btw.
We routinely add SocketAppender[localhost] to our console applications. In case of trouble one can simply start Lilith and check the logs that way instead of reading them on the console.
The default use-case is executing the app without Lilith, though, so we get the logback status messages on every start - which is quite noisy and annoying.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
2
5

[GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.28-34-gd12e774
by git-noreply@pixie.qos.ch 28 Mar '11
by git-noreply@pixie.qos.ch 28 Mar '11
28 Mar '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".
The branch, master has been updated
via d12e774a989e9045d9ce7065151b0d80a16eafef (commit)
from 56fe8a84fb7a07a0f842318409d61285ebcc4ff9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=d12e774a989e9045d9ce7065…
http://github.com/ceki/logback/commit/d12e774a989e9045d9ce7065151b0d80a16ea…
commit d12e774a989e9045d9ce7065151b0d80a16eafef
Author: Ceki Gulcu <ceki(a)qos.ch>
Date: Mon Mar 28 22:38:06 2011 +0200
Fix LBCLASSIC-156
diff --git a/logback-core/src/main/java/ch/qos/logback/core/net/SocketAppenderBase.java b/logback-core/src/main/java/ch/qos/logback/core/net/SocketAppenderBase.java
index 842b9d8..6b2fb5c 100644
--- a/logback-core/src/main/java/ch/qos/logback/core/net/SocketAppenderBase.java
+++ b/logback-core/src/main/java/ch/qos/logback/core/net/SocketAppenderBase.java
@@ -136,7 +136,7 @@ public abstract class SocketAppenderBase<E> extends AppenderBase<E> {
msg += " We will try again later.";
fireConnector(); // fire the connector thread
}
- addWarn(msg, e);
+ addInfo(msg, e);
}
}
-----------------------------------------------------------------------
Summary of changes:
.../qos/logback/core/net/SocketAppenderBase.java | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
1
0

[GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.28-33-g56fe8a8
by git-noreply@pixie.qos.ch 28 Mar '11
by git-noreply@pixie.qos.ch 28 Mar '11
28 Mar '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".
The branch, master has been updated
via 56fe8a84fb7a07a0f842318409d61285ebcc4ff9 (commit)
via e6014e4306c6a0f4732e8aefd071f8fbfb7437c2 (commit)
via 146b2027091f6f34b9fe22a5f3548046756e08ec (commit)
from 291d3efbed616b1c62b2ba465cf727fc99ddda70 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=56fe8a84fb7a07a0f8423184…
http://github.com/ceki/logback/commit/56fe8a84fb7a07a0f842318409d61285ebcc4…
commit 56fe8a84fb7a07a0f842318409d61285ebcc4ff9
Author: Joern Huxhorn <jhuxhorn(a)googlemail.com>
Date: Mon Mar 28 16:22:27 2011 +0200
Using IAccessEvent instead of AccessEvent if possible.
diff --git a/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java b/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java
index d702bd5..e86223a 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/PatternLayout.java
@@ -41,14 +41,14 @@ import ch.qos.logback.access.pattern.ResponseContentConverter;
import ch.qos.logback.access.pattern.ResponseHeaderConverter;
import ch.qos.logback.access.pattern.ServerNameConverter;
import ch.qos.logback.access.pattern.StatusCodeConverter;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.pattern.PatternLayoutBase;
import ch.qos.logback.core.pattern.parser.Parser;
/**
* <p>
* This class is a module-specific implementation of
- * {@link ch.qos.logback.classic.PatternLayout} to allow http-specific patterns
+ * {@link ch.qos.logback.access.PatternLayout} to allow http-specific patterns
* to be used. The <code>ch.qos.logback.access.PatternLayout</code> provides a
* way to format the logging output that is just as easy and flexible as the
* usual <code>PatternLayout</code>.
@@ -60,7 +60,7 @@ import ch.qos.logback.core.pattern.parser.Parser;
* @author Ceki Gülcü
* @author Sébastien Pennec
*/
-public class PatternLayout extends PatternLayoutBase<AccessEvent> {
+public class PatternLayout extends PatternLayoutBase<IAccessEvent> {
public static final Map<String, String> defaultConverterMap = new HashMap<String, String>();
@@ -167,7 +167,7 @@ public class PatternLayout extends PatternLayoutBase<AccessEvent> {
return defaultConverterMap;
}
- public String doLayout(AccessEvent event) {
+ public String doLayout(IAccessEvent event) {
if (!isStarted()) {
return null;
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/PatternLayoutEncoder.java b/logback-access/src/main/java/ch/qos/logback/access/PatternLayoutEncoder.java
index aa3b6f2..f418bfe 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/PatternLayoutEncoder.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/PatternLayoutEncoder.java
@@ -1,10 +1,10 @@
package ch.qos.logback.access;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.pattern.PatternLayoutEncoderBase;
-public class PatternLayoutEncoder extends PatternLayoutEncoderBase<AccessEvent> {
+public class PatternLayoutEncoder extends PatternLayoutEncoderBase<IAccessEvent> {
@Override
public void start() {
@@ -16,4 +16,4 @@ public class PatternLayoutEncoder extends PatternLayoutEncoderBase<AccessEvent>
super.start();
}
-}
\ No newline at end of file
+}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/boolex/JaninoEventEvaluator.java b/logback-access/src/main/java/ch/qos/logback/access/boolex/JaninoEventEvaluator.java
index 7702755..4149b8b 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/boolex/JaninoEventEvaluator.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/boolex/JaninoEventEvaluator.java
@@ -16,19 +16,19 @@ package ch.qos.logback.access.boolex;
import java.util.ArrayList;
import java.util.List;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.CoreConstants;
import ch.qos.logback.core.boolex.JaninoEventEvaluatorBase;
import ch.qos.logback.core.boolex.Matcher;
-public class JaninoEventEvaluator extends JaninoEventEvaluatorBase<AccessEvent> {
+public class JaninoEventEvaluator extends JaninoEventEvaluatorBase<IAccessEvent> {
public final static List<String> DEFAULT_PARAM_NAME_LIST = new ArrayList<String>();
public final static List<Class> DEFAULT_PARAM_TYPE_LIST = new ArrayList<Class>();
static {
DEFAULT_PARAM_NAME_LIST.add("event");
- DEFAULT_PARAM_TYPE_LIST.add(AccessEvent.class);
+ DEFAULT_PARAM_TYPE_LIST.add(IAccessEvent.class);
}
@@ -67,8 +67,7 @@ public class JaninoEventEvaluator extends JaninoEventEvaluatorBase<AccessEvent>
return (Class[]) fullTypeList.toArray(CoreConstants.EMPTY_CLASS_ARRAY);
}
- protected Object[] getParameterValues(AccessEvent event) {
- AccessEvent accessEvent = (AccessEvent) event;
+ protected Object[] getParameterValues(IAccessEvent accessEvent) {
final int matcherListSize = matcherList.size();
int i = 0;
@@ -77,7 +76,7 @@ public class JaninoEventEvaluator extends JaninoEventEvaluatorBase<AccessEvent>
values[i++] = accessEvent;
for (int j = 0; j < matcherListSize; j++) {
- values[i++] = (Matcher) matcherList.get(j);
+ values[i++] = matcherList.get(j);
}
return values;
diff --git a/logback-access/src/main/java/ch/qos/logback/access/db/DBAppender.java b/logback-access/src/main/java/ch/qos/logback/access/db/DBAppender.java
index e8b1057..e3f071d 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/db/DBAppender.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/db/DBAppender.java
@@ -19,7 +19,7 @@ import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Enumeration;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.db.DBAppenderBase;
/**
@@ -33,7 +33,7 @@ import ch.qos.logback.core.db.DBAppenderBase;
* @author Ray DeCampo
* @author Sébastien Pennec
*/
-public class DBAppender extends DBAppenderBase<AccessEvent> {
+public class DBAppender extends DBAppenderBase<IAccessEvent> {
protected static final String insertSQL;
protected final String insertHeaderSQL = "INSERT INTO access_event_header (event_id, header_key, header_value) VALUES (?, ?, ?)";
protected static final Method GET_GENERATED_KEYS_METHOD;
@@ -70,7 +70,7 @@ public class DBAppender extends DBAppenderBase<AccessEvent> {
}
@Override
- protected void subAppend(AccessEvent event, Connection connection,
+ protected void subAppend(IAccessEvent event, Connection connection,
PreparedStatement insertStatement) throws Throwable {
addAccessEvent(insertStatement, event);
@@ -81,14 +81,14 @@ public class DBAppender extends DBAppenderBase<AccessEvent> {
}
}
- protected void secondarySubAppend(AccessEvent event, Connection connection,
+ protected void secondarySubAppend(IAccessEvent event, Connection connection,
long eventId) throws Throwable {
if (insertHeaders) {
addRequestHeaders(event, connection, eventId);
}
}
- void addAccessEvent(PreparedStatement stmt, AccessEvent event)
+ void addAccessEvent(PreparedStatement stmt, IAccessEvent event)
throws SQLException {
stmt.setLong(1, event.getTimeStamp());
stmt.setString(2, event.getRequestURI());
@@ -102,7 +102,7 @@ public class DBAppender extends DBAppenderBase<AccessEvent> {
stmt.setString(10, event.getRequestContent());
}
- void addRequestHeaders(AccessEvent event,
+ void addRequestHeaders(IAccessEvent event,
Connection connection, long eventId) throws SQLException {
Enumeration names = event.getRequestHeaderNames();
if (names.hasMoreElements()) {
diff --git a/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java b/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java
index 51b6fa4..5d8e612 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/html/HTMLLayout.java
@@ -18,7 +18,7 @@ import static ch.qos.logback.core.CoreConstants.LINE_SEPARATOR;
import java.util.Map;
import ch.qos.logback.access.PatternLayout;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.html.HTMLLayoutBase;
import ch.qos.logback.core.pattern.Converter;
@@ -37,7 +37,7 @@ import ch.qos.logback.core.pattern.Converter;
* @author Ceki Gülcü
* @author Sébastien Pennec
*/
-public class HTMLLayout extends HTMLLayoutBase<AccessEvent> {
+public class HTMLLayout extends HTMLLayoutBase<IAccessEvent> {
/**
* Default pattern string for log output.
@@ -58,7 +58,7 @@ public class HTMLLayout extends HTMLLayoutBase<AccessEvent> {
return PatternLayout.defaultConverterMap;
}
- public String doLayout(AccessEvent event) {
+ public String doLayout(IAccessEvent event) {
StringBuilder buf = new StringBuilder();
startNewTableIfLimitReached(buf);
@@ -76,7 +76,7 @@ public class HTMLLayout extends HTMLLayoutBase<AccessEvent> {
}
buf.append(LINE_SEPARATOR);
- Converter<AccessEvent> c = head;
+ Converter<IAccessEvent> c = head;
while (c != null) {
appendEventToBuffer(buf, c, event);
c = c.getNext();
@@ -87,8 +87,8 @@ public class HTMLLayout extends HTMLLayoutBase<AccessEvent> {
return buf.toString();
}
- private void appendEventToBuffer(StringBuilder buf, Converter<AccessEvent> c,
- AccessEvent event) {
+ private void appendEventToBuffer(StringBuilder buf, Converter<IAccessEvent> c,
+ IAccessEvent event) {
buf.append("<td class=\"");
buf.append(computeConverterName(c));
buf.append("\">");
diff --git a/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java b/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
index d4a624a..a3f417e 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/jetty/RequestLogImpl.java
@@ -24,6 +24,7 @@ import org.mortbay.jetty.Response;
import ch.qos.logback.access.joran.JoranConfigurator;
import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.ContextBase;
import ch.qos.logback.core.CoreConstants;
@@ -108,13 +109,13 @@ import ch.qos.logback.core.util.OptionHelper;
* @author Sébastien Pennec
*/
public class RequestLogImpl extends ContextBase implements RequestLog,
- AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent> {
+ AppenderAttachable<IAccessEvent>, FilterAttachable<IAccessEvent> {
public final static String DEFAULT_CONFIG_FILE = "etc" + File.separatorChar
+ "logback-access.xml";
- AppenderAttachableImpl<AccessEvent> aai = new AppenderAttachableImpl<AccessEvent>();
- FilterAttachableImpl<AccessEvent> fai = new FilterAttachableImpl<AccessEvent>();
+ AppenderAttachableImpl<IAccessEvent> aai = new AppenderAttachableImpl<IAccessEvent>();
+ FilterAttachableImpl<IAccessEvent> fai = new FilterAttachableImpl<IAccessEvent>();
String filename;
boolean started = false;
@@ -125,7 +126,7 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
public void log(Request jettyRequest, Response jettyResponse) {
JettyServerAdapter adapter = new JettyServerAdapter(jettyRequest,
jettyResponse);
- AccessEvent accessEvent = new AccessEvent(jettyRequest, jettyResponse,
+ IAccessEvent accessEvent = new AccessEvent(jettyRequest, jettyResponse,
adapter);
if (getFilterChainDecision(accessEvent) == FilterReply.DENY) {
return;
@@ -203,19 +204,19 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
return false;
}
- public void addAppender(Appender<AccessEvent> newAppender) {
+ public void addAppender(Appender<IAccessEvent> newAppender) {
aai.addAppender(newAppender);
}
- public Iterator<Appender<AccessEvent>> iteratorForAppenders() {
+ public Iterator<Appender<IAccessEvent>> iteratorForAppenders() {
return aai.iteratorForAppenders();
}
- public Appender<AccessEvent> getAppender(String name) {
+ public Appender<IAccessEvent> getAppender(String name) {
return aai.getAppender(name);
}
- public boolean isAttached(Appender<AccessEvent> appender) {
+ public boolean isAttached(Appender<IAccessEvent> appender) {
return aai.isAttached(appender);
}
@@ -224,7 +225,7 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
}
- public boolean detachAppender(Appender<AccessEvent> appender) {
+ public boolean detachAppender(Appender<IAccessEvent> appender) {
return aai.detachAppender(appender);
}
@@ -232,7 +233,7 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
return aai.detachAppender(name);
}
- public void addFilter(Filter<AccessEvent> newFilter) {
+ public void addFilter(Filter<IAccessEvent> newFilter) {
fai.addFilter(newFilter);
}
@@ -240,11 +241,11 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
fai.clearAllFilters();
}
- public List<Filter<AccessEvent>> getCopyOfAttachedFiltersList() {
+ public List<Filter<IAccessEvent>> getCopyOfAttachedFiltersList() {
return fai.getCopyOfAttachedFiltersList();
}
- public FilterReply getFilterChainDecision(AccessEvent event) {
+ public FilterReply getFilterChainDecision(IAccessEvent event) {
return fai.getFilterChainDecision(event);
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/jetty/v7/RequestLogImpl.java b/logback-access/src/main/java/ch/qos/logback/access/jetty/v7/RequestLogImpl.java
index 95742fa..4738049 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/jetty/v7/RequestLogImpl.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/jetty/v7/RequestLogImpl.java
@@ -15,6 +15,7 @@ package ch.qos.logback.access.jetty.v7;
import ch.qos.logback.access.joran.JoranConfigurator;
import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.ContextBase;
import ch.qos.logback.core.CoreConstants;
@@ -107,12 +108,12 @@ import java.util.List;
* @author Sébastien Pennec
*/
public class RequestLogImpl extends ContextBase implements RequestLog,
- AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent> {
+ AppenderAttachable<IAccessEvent>, FilterAttachable<IAccessEvent> {
public final static String DEFAULT_CONFIG_FILE = "etc" + File.separatorChar + "logback-access.xml";
- AppenderAttachableImpl<AccessEvent> aai = new AppenderAttachableImpl<AccessEvent>();
- FilterAttachableImpl<AccessEvent> fai = new FilterAttachableImpl<AccessEvent>();
+ AppenderAttachableImpl<IAccessEvent> aai = new AppenderAttachableImpl<IAccessEvent>();
+ FilterAttachableImpl<IAccessEvent> fai = new FilterAttachableImpl<IAccessEvent>();
String filename;
boolean started = false;
@@ -122,7 +123,7 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
public void log(Request jettyRequest, Response jettyResponse) {
JettyServerAdapter adapter = new JettyServerAdapter(jettyRequest, jettyResponse);
- AccessEvent accessEvent = new AccessEvent(jettyRequest, jettyResponse, adapter);
+ IAccessEvent accessEvent = new AccessEvent(jettyRequest, jettyResponse, adapter);
if (getFilterChainDecision(accessEvent) == FilterReply.DENY) {
return;
}
@@ -205,19 +206,19 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
//no support for listeners yet
}
- public void addAppender(Appender<AccessEvent> newAppender) {
+ public void addAppender(Appender<IAccessEvent> newAppender) {
aai.addAppender(newAppender);
}
- public Iterator<Appender<AccessEvent>> iteratorForAppenders() {
+ public Iterator<Appender<IAccessEvent>> iteratorForAppenders() {
return aai.iteratorForAppenders();
}
- public Appender<AccessEvent> getAppender(String name) {
+ public Appender<IAccessEvent> getAppender(String name) {
return aai.getAppender(name);
}
- public boolean isAttached(Appender<AccessEvent> appender) {
+ public boolean isAttached(Appender<IAccessEvent> appender) {
return aai.isAttached(appender);
}
@@ -226,7 +227,7 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
}
- public boolean detachAppender(Appender<AccessEvent> appender) {
+ public boolean detachAppender(Appender<IAccessEvent> appender) {
return aai.detachAppender(appender);
}
@@ -234,7 +235,7 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
return aai.detachAppender(name);
}
- public void addFilter(Filter<AccessEvent> newFilter) {
+ public void addFilter(Filter<IAccessEvent> newFilter) {
fai.addFilter(newFilter);
}
@@ -242,11 +243,11 @@ public class RequestLogImpl extends ContextBase implements RequestLog,
fai.clearAllFilters();
}
- public List<Filter<AccessEvent>> getCopyOfAttachedFiltersList() {
+ public List<Filter<IAccessEvent>> getCopyOfAttachedFiltersList() {
return fai.getCopyOfAttachedFiltersList();
}
- public FilterReply getFilterChainDecision(AccessEvent event) {
+ public FilterReply getFilterChainDecision(IAccessEvent event) {
return fai.getFilterChainDecision(event);
}
-}
\ No newline at end of file
+}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/AccessEventPreSerializationTransformer.java b/logback-access/src/main/java/ch/qos/logback/access/net/AccessEventPreSerializationTransformer.java
index 5678671..a41eab9 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/net/AccessEventPreSerializationTransformer.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/net/AccessEventPreSerializationTransformer.java
@@ -16,13 +16,18 @@ package ch.qos.logback.access.net;
import java.io.Serializable;
import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.spi.PreSerializationTransformer;
public class AccessEventPreSerializationTransformer implements
- PreSerializationTransformer<AccessEvent> {
+ PreSerializationTransformer<IAccessEvent> {
- public Serializable transform(AccessEvent event) {
- return event;
+ public Serializable transform(IAccessEvent event) {
+ if (event instanceof AccessEvent) {
+ return (AccessEvent)event;
+ } else {
+ throw new IllegalArgumentException("Unsupported type "+event.getClass().getName());
+ }
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/SMTPAppender.java b/logback-access/src/main/java/ch/qos/logback/access/net/SMTPAppender.java
index 7b1d60c..6fcfe43 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/net/SMTPAppender.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/net/SMTPAppender.java
@@ -14,7 +14,7 @@
package ch.qos.logback.access.net;
import ch.qos.logback.access.PatternLayout;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.Layout;
import ch.qos.logback.core.boolex.EventEvaluator;
import ch.qos.logback.core.helpers.CyclicBuffer;
@@ -31,7 +31,7 @@ import ch.qos.logback.core.net.SMTPAppenderBase;
* @author Sébastien Pennec
*
*/
-public class SMTPAppender extends SMTPAppenderBase<AccessEvent> {
+public class SMTPAppender extends SMTPAppenderBase<IAccessEvent> {
static final String DEFAULT_SUBJECT_PATTERN = "%m";
@@ -47,7 +47,7 @@ public class SMTPAppender extends SMTPAppenderBase<AccessEvent> {
* Use <code>evaluator</code> passed as parameter as the {@link
* EventEvaluator} for this SMTPAppender.
*/
- public SMTPAppender(EventEvaluator<AccessEvent> evaluator) {
+ public SMTPAppender(EventEvaluator<IAccessEvent> evaluator) {
this.eventEvaluator = evaluator;
}
@@ -55,22 +55,22 @@ public class SMTPAppender extends SMTPAppenderBase<AccessEvent> {
* Perform SMTPAppender specific appending actions, mainly adding the event to
* the appropriate cyclic buffer.
*/
- protected void subAppend(CyclicBuffer<AccessEvent> cb, AccessEvent event) {
+ protected void subAppend(CyclicBuffer<IAccessEvent> cb, IAccessEvent event) {
cb.add(event);
}
@Override
- protected void fillBuffer(CyclicBuffer<AccessEvent> cb, StringBuffer sbuf) {
+ protected void fillBuffer(CyclicBuffer<IAccessEvent> cb, StringBuffer sbuf) {
int len = cb.length();
for (int i = 0; i < len; i++) {
// sbuf.append(MimeUtility.encodeText(layout.format(cb.getOrCreate())));
- AccessEvent event = (AccessEvent) cb.get();
+ IAccessEvent event = cb.get();
sbuf.append(layout.doLayout(event));
}
}
@Override
- protected Layout<AccessEvent> makeSubjectLayout(String subjectStr) {
+ protected Layout<IAccessEvent> makeSubjectLayout(String subjectStr) {
if(subjectStr == null) {
subjectStr = DEFAULT_SUBJECT_PATTERN;
}
@@ -80,13 +80,13 @@ public class SMTPAppender extends SMTPAppenderBase<AccessEvent> {
return pl;
}
- protected PatternLayout makeNewToPatternLayout(String toPattern) {
+ protected PatternLayout makeNewToPatternLayout(String toPattern) {
PatternLayout pl = new PatternLayout();
pl.setPattern(toPattern);
return pl;
}
- protected boolean isEventMarkedForBufferRemoval(AccessEvent eventObject) {
+ protected boolean isEventMarkedForBufferRemoval(IAccessEvent eventObject) {
return false;
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/SocketAppender.java b/logback-access/src/main/java/ch/qos/logback/access/net/SocketAppender.java
index 4f567a6..4c82da7 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/net/SocketAppender.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/net/SocketAppender.java
@@ -16,12 +16,12 @@ package ch.qos.logback.access.net;
import java.net.InetAddress;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.net.SocketAppenderBase;
import ch.qos.logback.core.spi.PreSerializationTransformer;
/**
- * Sends {@link AccessEvent} objects to a remote a log server, usually a
+ * Sends {@link IAccessEvent} objects to a remote a log server, usually a
* {@link SocketNode}.
*
* For more information about this appender, please refer to the online manual at
@@ -32,9 +32,9 @@ import ch.qos.logback.core.spi.PreSerializationTransformer;
*
*/
-public class SocketAppender extends SocketAppenderBase<AccessEvent> {
+public class SocketAppender extends SocketAppenderBase<IAccessEvent> {
- PreSerializationTransformer<AccessEvent> pst = new AccessEventPreSerializationTransformer();
+ PreSerializationTransformer<IAccessEvent> pst = new AccessEventPreSerializationTransformer();
public SocketAppender() {
}
@@ -58,12 +58,11 @@ public class SocketAppender extends SocketAppenderBase<AccessEvent> {
}
@Override
- protected void postProcessEvent(AccessEvent event) {
- AccessEvent ae = (AccessEvent)event;
- ae.prepareForDeferredProcessing();
+ protected void postProcessEvent(IAccessEvent event) {
+ event.prepareForDeferredProcessing();
}
- public PreSerializationTransformer<AccessEvent> getPST() {
+ public PreSerializationTransformer<IAccessEvent> getPST() {
return pst;
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java b/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java
index a2f2ce4..cc955a2 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/net/SocketNode.java
@@ -19,13 +19,13 @@ import java.io.ObjectInputStream;
import java.net.Socket;
import ch.qos.logback.access.spi.AccessContext;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.spi.FilterReply;
// Contributors: Moses Hohman <mmhohman(a)rainbow.uchicago.edu>
/**
- * Read {@link AccessEvent} objects sent from a remote client using Sockets
+ * Read {@link IAccessEvent} objects sent from a remote client using Sockets
* (TCP). These logging events are logged according to local policy, as if they
* were generated locally.
*
@@ -56,12 +56,12 @@ public class SocketNode implements Runnable {
}
public void run() {
- AccessEvent event;
+ IAccessEvent event;
try {
while (true) {
// read an event from the wire
- event = (AccessEvent) ois.readObject();
+ event = (IAccessEvent) ois.readObject();
//check that the event should be logged
if (context.getFilterChainDecision(event) == FilterReply.DENY) {
break;
diff --git a/logback-access/src/main/java/ch/qos/logback/access/net/URLEvaluator.java b/logback-access/src/main/java/ch/qos/logback/access/net/URLEvaluator.java
index b20133b..c68891b 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/net/URLEvaluator.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/net/URLEvaluator.java
@@ -16,7 +16,7 @@ package ch.qos.logback.access.net;
import java.util.ArrayList;
import java.util.List;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.boolex.EvaluationException;
import ch.qos.logback.core.boolex.EventEvaluator;
import ch.qos.logback.core.spi.ContextAwareBase;
@@ -44,7 +44,7 @@ public class URLEvaluator extends ContextAwareBase implements EventEvaluator, Li
}
public boolean evaluate(Object eventObject) throws NullPointerException, EvaluationException {
- AccessEvent event = (AccessEvent)eventObject;
+ IAccessEvent event = (IAccessEvent)eventObject;
String url = event.getRequestURL();
for(String expected:URLList) {
if (url.contains(expected)) {
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java
index 341562b..8df5f70 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/AccessConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.Context;
import ch.qos.logback.core.pattern.DynamicConverter;
import ch.qos.logback.core.spi.ContextAware;
@@ -21,7 +21,7 @@ import ch.qos.logback.core.spi.ContextAwareBase;
import ch.qos.logback.core.status.Status;
-abstract public class AccessConverter extends DynamicConverter<AccessEvent> implements ContextAware {
+abstract public class AccessConverter extends DynamicConverter<IAccessEvent> implements ContextAware {
public final static char SPACE_CHAR = ' ';
public final static char QUESTION_CHAR = '?';
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java
index c88298c..15a03e8 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/ContentLengthConverter.java
@@ -13,14 +13,14 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class ContentLengthConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
long len = accessEvent.getContentLength();
- if(len == AccessEvent.SENTINEL) {
- return AccessEvent.NA;
+ if(len == IAccessEvent.SENTINEL) {
+ return IAccessEvent.NA;
} else {
return Long.toString(len);
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java
index 23299bd..10de74a 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/DateConverter.java
@@ -18,7 +18,7 @@ import java.util.Date;
import java.util.List;
import java.util.TimeZone;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.CoreConstants;
@@ -60,7 +60,7 @@ public class DateConverter extends AccessConverter {
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
long timestamp = accessEvent.getTimeStamp();
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/EnsureLineSeparation.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/EnsureLineSeparation.java
index abc7f99..01ea29d 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/EnsureLineSeparation.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/EnsureLineSeparation.java
@@ -13,20 +13,20 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.pattern.Converter;
import ch.qos.logback.core.pattern.ConverterUtil;
import ch.qos.logback.core.pattern.PostCompileProcessor;
-public class EnsureLineSeparation implements PostCompileProcessor<AccessEvent> {
+public class EnsureLineSeparation implements PostCompileProcessor<IAccessEvent> {
/**
* Add a line separator converter so that access event appears on a separate
* line.
*/
- public void process(Converter<AccessEvent> head) {
- Converter<AccessEvent> tail = ConverterUtil.findTail(head);
- Converter<AccessEvent> newLineConverter = new LineSeparatorConverter();
+ public void process(Converter<IAccessEvent> head) {
+ Converter<IAccessEvent> tail = ConverterUtil.findTail(head);
+ Converter<IAccessEvent> newLineConverter = new LineSeparatorConverter();
if (tail == null) {
head = newLineConverter;
} else {
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/FullRequestConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/FullRequestConverter.java
index 9ece66b..afd70d4 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/FullRequestConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/FullRequestConverter.java
@@ -15,7 +15,7 @@ package ch.qos.logback.access.pattern;
import java.util.Enumeration;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.CoreConstants;
/**
@@ -30,7 +30,7 @@ import ch.qos.logback.core.CoreConstants;
public class FullRequestConverter extends AccessConverter {
@Override
- public String convert(AccessEvent ae) {
+ public String convert(IAccessEvent ae) {
StringBuffer buf = new StringBuffer();
buf.append(ae.getRequestURL());
buf.append(CoreConstants.LINE_SEPARATOR);
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/FullResponseConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/FullResponseConverter.java
index de9e25e..335dffb 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/FullResponseConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/FullResponseConverter.java
@@ -15,13 +15,13 @@ package ch.qos.logback.access.pattern;
import java.util.List;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.CoreConstants;
public class FullResponseConverter extends AccessConverter {
@Override
- public String convert(AccessEvent ae) {
+ public String convert(IAccessEvent ae) {
StringBuffer buf = new StringBuffer();
buf.append("HTTP/1.1 ");
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/LineSeparatorConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/LineSeparatorConverter.java
index 11f8d46..4476187 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/LineSeparatorConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/LineSeparatorConverter.java
@@ -13,13 +13,13 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.CoreConstants;
public class LineSeparatorConverter extends AccessConverter {
- public String convert(AccessEvent event) {
+ public String convert(IAccessEvent event) {
return CoreConstants.LINE_SEPARATOR;
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java
index 38087aa..bfdd592 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalIPAddressConverter.java
@@ -16,7 +16,7 @@ package ch.qos.logback.access.pattern;
import java.net.InetAddress;
import java.net.UnknownHostException;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class LocalIPAddressConverter extends AccessConverter {
@@ -30,7 +30,7 @@ public class LocalIPAddressConverter extends AccessConverter {
}
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return localIPAddressStr;
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java
index 8824253..8e5dda2 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/LocalPortConverter.java
@@ -13,12 +13,12 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class LocalPortConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return Integer.toString(accessEvent.getLocalPort());
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java
index 1a12716..e234c90 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/NAConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
/**
* Always returns the NA (not available) string which is "-" in the case
@@ -23,8 +23,8 @@ import ch.qos.logback.access.spi.AccessEvent;
*/
public class NAConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
- return AccessEvent.NA;
+ public String convert(IAccessEvent accessEvent) {
+ return IAccessEvent.NA;
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java
index 368a267..fae7c82 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteHostConverter.java
@@ -13,12 +13,12 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class RemoteHostConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getRemoteHost();
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java
index caf09db..623bb61 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteIPAddressConverter.java
@@ -13,11 +13,11 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class RemoteIPAddressConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getRemoteAddr();
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java
index c414e26..d7905ae 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RemoteUserConverter.java
@@ -13,16 +13,16 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class RemoteUserConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
String user = accessEvent.getRemoteUser();
if(user == null) {
- return AccessEvent.NA;
+ return IAccessEvent.NA;
} else {
return user;
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java
index 253e476..c77809e 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestAttributeConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.util.OptionHelper;
@@ -30,7 +30,7 @@ public class RequestAttributeConverter extends AccessConverter {
}
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
if (!isStarted()) {
return "INACTIVE_REQUEST_ATTRIB_CONV";
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestContentConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestContentConverter.java
index 0cecce1..1a09de8 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestContentConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestContentConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
/**
* This class is tied to the <code>requestContent</code> conversion word.
@@ -27,7 +27,7 @@ import ch.qos.logback.access.spi.AccessEvent;
public class RequestContentConverter extends AccessConverter {
@Override
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getRequestContent();
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java
index 18f2fd8..23a5e47 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestCookieConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.util.OptionHelper;
@@ -30,7 +30,7 @@ public class RequestCookieConverter extends AccessConverter {
}
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
if (!isStarted()) {
return "INACTIVE_COOKIE_CONVERTER";
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java
index 222b808..dff6bd8 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestHeaderConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.util.OptionHelper;
@@ -30,7 +30,7 @@ public class RequestHeaderConverter extends AccessConverter {
super.start();
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
if(!isStarted()) {
return "INACTIVE_HEADER_CONV";
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java
index dfd7728..581e800 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestMethodConverter.java
@@ -13,12 +13,12 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class RequestMethodConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getMethod();
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java
index dee1d01..7124246 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestParameterConverter.java
@@ -15,7 +15,7 @@ package ch.qos.logback.access.pattern;
import java.util.Arrays;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.util.OptionHelper;
public class RequestParameterConverter extends AccessConverter {
@@ -31,7 +31,7 @@ public class RequestParameterConverter extends AccessConverter {
}
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
if (!isStarted()) {
return "INACTIVE_REQUEST_PARAM_CONV";
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java
index 06c03fb..38d3df0 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestProtocolConverter.java
@@ -13,12 +13,12 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class RequestProtocolConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getProtocol();
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java
index 2216f42..a66fd18 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURIConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
/**
* The request URI.
@@ -22,7 +22,7 @@ import ch.qos.logback.access.spi.AccessEvent;
*/
public class RequestURIConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getRequestURI();
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java
index 5b035b7..473326e 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/RequestURLConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
/**
* The first line of the request.
@@ -22,7 +22,7 @@ import ch.qos.logback.access.spi.AccessEvent;
*/
public class RequestURLConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getRequestURL();
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseContentConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseContentConverter.java
index 9e0d6e7..14dc7b0 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseContentConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseContentConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
/**
* This class is tied to the <code>requestContent</code> conversion word.
@@ -27,7 +27,7 @@ import ch.qos.logback.access.spi.AccessEvent;
public class ResponseContentConverter extends AccessConverter {
@Override
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getResponseContent();
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java
index 5ebd369..5019c92 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/ResponseHeaderConverter.java
@@ -13,7 +13,7 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.util.OptionHelper;
@@ -30,7 +30,7 @@ public class ResponseHeaderConverter extends AccessConverter {
}
}
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
if(!isStarted()) {
return "INACTIVE_REPONSE_HEADER_CONV";
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java
index 33e1d2c..da7da5f 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/ServerNameConverter.java
@@ -13,11 +13,11 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class ServerNameConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return accessEvent.getServerName();
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java b/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java
index 5278002..8b7ecf0 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/pattern/StatusCodeConverter.java
@@ -13,11 +13,11 @@
*/
package ch.qos.logback.access.pattern;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class StatusCodeConverter extends AccessConverter {
- public String convert(AccessEvent accessEvent) {
+ public String convert(IAccessEvent accessEvent) {
return Integer.toString(accessEvent.getStatusCode());
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java b/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
index 6108472..120dab6 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/sift/AccessEventDiscriminator.java
@@ -16,14 +16,14 @@ package ch.qos.logback.access.sift;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.sift.Discriminator;
import ch.qos.logback.core.spi.ContextAwareBase;
/**
*
* AccessEventDiscriminator's job is to return the value of a designated field
- * in an {@link AccessEvent} instance.
+ * in an {@link IAccessEvent} instance.
*
* <p>The field is specified via the {@link FieldName} property.
*
@@ -31,7 +31,7 @@ import ch.qos.logback.core.spi.ContextAwareBase;
*
*/
public class AccessEventDiscriminator extends ContextAwareBase implements
- Discriminator<AccessEvent> {
+ Discriminator<IAccessEvent> {
boolean started = false;
@@ -53,7 +53,7 @@ public class AccessEventDiscriminator extends ContextAwareBase implements
FieldName fieldName;
String additionalKey;
- public String getDiscriminatingValue(AccessEvent acccessEvent) {
+ public String getDiscriminatingValue(IAccessEvent acccessEvent) {
String rawValue = getRawDiscriminatingValue(acccessEvent);
if (rawValue == null || rawValue.length() == 0) {
return defaultValue;
@@ -62,7 +62,7 @@ public class AccessEventDiscriminator extends ContextAwareBase implements
}
}
- public String getRawDiscriminatingValue(AccessEvent acccessEvent) {
+ public String getRawDiscriminatingValue(IAccessEvent acccessEvent) {
switch (fieldName) {
case COOKIE:
// tested
@@ -84,16 +84,16 @@ public class AccessEventDiscriminator extends ContextAwareBase implements
}
}
- private String getRequestAttribute(AccessEvent acccessEvent) {
+ private String getRequestAttribute(IAccessEvent acccessEvent) {
String attr = acccessEvent.getAttribute(additionalKey);
- if (AccessEvent.NA.equals(attr)) {
+ if (IAccessEvent.NA.equals(attr)) {
return null;
} else {
return attr;
}
}
- private String getRequestURI(AccessEvent acccessEvent) {
+ private String getRequestURI(IAccessEvent acccessEvent) {
String uri = acccessEvent.getRequestURI();
if (uri != null && uri.length() >= 1 && uri.charAt(0) == '/') {
return uri.substring(1);
@@ -102,7 +102,7 @@ public class AccessEventDiscriminator extends ContextAwareBase implements
}
}
- private String getSessionAttribute(AccessEvent acccessEvent) {
+ private String getSessionAttribute(IAccessEvent acccessEvent) {
HttpServletRequest req = acccessEvent.getRequest();
if (req != null) {
HttpSession session = req.getSession(false);
diff --git a/logback-access/src/main/java/ch/qos/logback/access/sift/AppenderFactory.java b/logback-access/src/main/java/ch/qos/logback/access/sift/AppenderFactory.java
index 62c2ff3..ba86a52 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/sift/AppenderFactory.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/sift/AppenderFactory.java
@@ -15,12 +15,12 @@ package ch.qos.logback.access.sift;
import java.util.List;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.joran.event.SaxEvent;
import ch.qos.logback.core.sift.AppenderFactoryBase;
import ch.qos.logback.core.sift.SiftingJoranConfiguratorBase;
-public class AppenderFactory extends AppenderFactoryBase<AccessEvent> {
+public class AppenderFactory extends AppenderFactoryBase<IAccessEvent> {
String keyName;
@@ -29,7 +29,7 @@ public class AppenderFactory extends AppenderFactoryBase<AccessEvent> {
this.keyName = keyName;
}
- public SiftingJoranConfiguratorBase<AccessEvent> getSiftingJoranConfigurator(
+ public SiftingJoranConfiguratorBase<IAccessEvent> getSiftingJoranConfigurator(
String keyValue) {
return new SiftingJoranConfigurator(keyName, keyValue);
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingAppender.java b/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingAppender.java
index 95ae870..2c752f7 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingAppender.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingAppender.java
@@ -13,9 +13,8 @@
*/
package ch.qos.logback.access.sift;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.joran.spi.DefaultClass;
-import ch.qos.logback.core.sift.AppenderTracker;
import ch.qos.logback.core.sift.Discriminator;
import ch.qos.logback.core.sift.SiftingAppenderBase;
@@ -29,7 +28,7 @@ import ch.qos.logback.core.sift.SiftingAppenderBase;
*
* @author Ceki Gulcu
*/
-public class SiftingAppender extends SiftingAppenderBase<AccessEvent> {
+public class SiftingAppender extends SiftingAppenderBase<IAccessEvent> {
@Override
public void start() {
@@ -37,13 +36,13 @@ public class SiftingAppender extends SiftingAppenderBase<AccessEvent> {
}
@Override
- protected long getTimestamp(AccessEvent event) {
+ protected long getTimestamp(IAccessEvent event) {
return event.getTimeStamp();
}
@Override
@DefaultClass(AccessEventDiscriminator.class)
- public void setDiscriminator(Discriminator<AccessEvent> discriminator) {
+ public void setDiscriminator(Discriminator<IAccessEvent> discriminator) {
super.setDiscriminator(discriminator);
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingJoranConfigurator.java b/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingJoranConfigurator.java
index 13d00cc..2d27abe 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingJoranConfigurator.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/sift/SiftingJoranConfigurator.java
@@ -17,7 +17,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.joran.action.ActionConst;
import ch.qos.logback.core.joran.action.AppenderAction;
@@ -26,7 +26,7 @@ import ch.qos.logback.core.joran.spi.RuleStore;
import ch.qos.logback.core.sift.SiftingJoranConfiguratorBase;
public class SiftingJoranConfigurator extends
- SiftingJoranConfiguratorBase<AccessEvent> {
+ SiftingJoranConfiguratorBase<IAccessEvent> {
String key;
String value;
@@ -59,7 +59,7 @@ public class SiftingJoranConfigurator extends
}
@SuppressWarnings("unchecked")
- public Appender<AccessEvent> getAppender() {
+ public Appender<IAccessEvent> getAppender() {
Map<String, Object> omap = interpreter.getInterpretationContext()
.getObjectMap();
HashMap appenderMap = (HashMap) omap.get(ActionConst.APPENDER_BAG);
@@ -68,6 +68,6 @@ public class SiftingJoranConfigurator extends
if(values.size() == 0) {
return null;
}
- return (Appender<AccessEvent>) values.iterator().next();
+ return (Appender<IAccessEvent>) values.iterator().next();
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/spi/AccessContext.java b/logback-access/src/main/java/ch/qos/logback/access/spi/AccessContext.java
index a8a3069..0584185 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/spi/AccessContext.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/spi/AccessContext.java
@@ -32,16 +32,16 @@ import ch.qos.logback.core.spi.FilterReply;
* @author Sébastien Pennec
*/
public class AccessContext extends ContextBase implements
- AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent> {
+ AppenderAttachable<IAccessEvent>, FilterAttachable<IAccessEvent> {
- AppenderAttachableImpl<AccessEvent> aai = new AppenderAttachableImpl<AccessEvent>();
- FilterAttachableImpl<AccessEvent> fai = new FilterAttachableImpl<AccessEvent>();
+ AppenderAttachableImpl<IAccessEvent> aai = new AppenderAttachableImpl<IAccessEvent>();
+ FilterAttachableImpl<IAccessEvent> fai = new FilterAttachableImpl<IAccessEvent>();
- public void callAppenders(AccessEvent event) {
+ public void callAppenders(IAccessEvent event) {
aai.appendLoopOnAppenders(event);
}
- public void addAppender(Appender<AccessEvent> newAppender) {
+ public void addAppender(Appender<IAccessEvent> newAppender) {
aai.addAppender(newAppender);
}
@@ -49,7 +49,7 @@ public class AccessContext extends ContextBase implements
aai.detachAndStopAllAppenders();
}
- public boolean detachAppender(Appender<AccessEvent> appender) {
+ public boolean detachAppender(Appender<IAccessEvent> appender) {
return aai.detachAppender(appender);
}
@@ -57,19 +57,19 @@ public class AccessContext extends ContextBase implements
return aai.detachAppender(name);
}
- public Appender<AccessEvent> getAppender(String name) {
+ public Appender<IAccessEvent> getAppender(String name) {
return aai.getAppender(name);
}
- public boolean isAttached(Appender<AccessEvent> appender) {
+ public boolean isAttached(Appender<IAccessEvent> appender) {
return aai.isAttached(appender);
}
- public Iterator<Appender<AccessEvent>> iteratorForAppenders() {
+ public Iterator<Appender<IAccessEvent>> iteratorForAppenders() {
return aai.iteratorForAppenders();
}
- public void addFilter(Filter<AccessEvent> newFilter) {
+ public void addFilter(Filter<IAccessEvent> newFilter) {
fai.addFilter(newFilter);
}
@@ -77,11 +77,11 @@ public class AccessContext extends ContextBase implements
fai.clearAllFilters();
}
- public List<Filter<AccessEvent>> getCopyOfAttachedFiltersList() {
+ public List<Filter<IAccessEvent>> getCopyOfAttachedFiltersList() {
return fai.getCopyOfAttachedFiltersList();
}
- public FilterReply getFilterChainDecision(AccessEvent event) {
+ public FilterReply getFilterChainDecision(IAccessEvent event) {
return fai.getFilterChainDecision(event);
}
}
diff --git a/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java b/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
index fe75250..0880645 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/tomcat/LogbackValve.java
@@ -23,6 +23,7 @@ import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleListener;
import org.apache.catalina.connector.Request;
@@ -62,7 +63,7 @@ import ch.qos.logback.core.util.StatusPrinter;
* @author Sébastien Pennec
*/
public class LogbackValve extends ValveBase implements Lifecycle, Context,
- AppenderAttachable<AccessEvent>, FilterAttachable<AccessEvent> {
+ AppenderAttachable<IAccessEvent>, FilterAttachable<IAccessEvent> {
public final static String DEFAULT_CONFIG_FILE = "conf" + File.separatorChar
+ "logback-access.xml";
@@ -78,9 +79,9 @@ public class LogbackValve extends ValveBase implements Lifecycle, Context,
// serialized. For the time being, we ignore this shortcoming.
Map<String, String> propertyMap = new HashMap<String, String>();
Map<String, Object> objectMap = new HashMap<String, Object>();
- private FilterAttachableImpl<AccessEvent> fai = new FilterAttachableImpl<AccessEvent>();
+ private FilterAttachableImpl<IAccessEvent> fai = new FilterAttachableImpl<IAccessEvent>();
- AppenderAttachableImpl<AccessEvent> aai = new AppenderAttachableImpl<AccessEvent>();
+ AppenderAttachableImpl<IAccessEvent> aai = new AppenderAttachableImpl<IAccessEvent>();
String filename;
boolean quiet;
boolean started;
@@ -158,7 +159,7 @@ public class LogbackValve extends ValveBase implements Lifecycle, Context,
getNext().invoke(request, response);
TomcatServerAdapter adapter = new TomcatServerAdapter(request, response);
- AccessEvent accessEvent = new AccessEvent(request, response, adapter);
+ IAccessEvent accessEvent = new AccessEvent(request, response, adapter);
if (getFilterChainDecision(accessEvent) == FilterReply.DENY) {
return;
@@ -175,19 +176,19 @@ public class LogbackValve extends ValveBase implements Lifecycle, Context,
started = false;
}
- public void addAppender(Appender<AccessEvent> newAppender) {
+ public void addAppender(Appender<IAccessEvent> newAppender) {
aai.addAppender(newAppender);
}
- public Iterator<Appender<AccessEvent>> iteratorForAppenders() {
+ public Iterator<Appender<IAccessEvent>> iteratorForAppenders() {
return aai.iteratorForAppenders();
}
- public Appender<AccessEvent> getAppender(String name) {
+ public Appender<IAccessEvent> getAppender(String name) {
return aai.getAppender(name);
}
- public boolean isAttached(Appender<AccessEvent> appender) {
+ public boolean isAttached(Appender<IAccessEvent> appender) {
return aai.isAttached(appender);
}
@@ -196,7 +197,7 @@ public class LogbackValve extends ValveBase implements Lifecycle, Context,
}
- public boolean detachAppender(Appender<AccessEvent> appender) {
+ public boolean detachAppender(Appender<IAccessEvent> appender) {
return aai.detachAppender(appender);
}
@@ -237,7 +238,7 @@ public class LogbackValve extends ValveBase implements Lifecycle, Context,
objectMap.put(key, value);
}
- public void addFilter(Filter<AccessEvent> newFilter) {
+ public void addFilter(Filter<IAccessEvent> newFilter) {
fai.addFilter(newFilter);
}
@@ -245,11 +246,11 @@ public class LogbackValve extends ValveBase implements Lifecycle, Context,
fai.clearAllFilters();
}
- public List<Filter<AccessEvent>> getCopyOfAttachedFiltersList() {
+ public List<Filter<IAccessEvent>> getCopyOfAttachedFiltersList() {
return fai.getCopyOfAttachedFiltersList();
}
- public FilterReply getFilterChainDecision(AccessEvent event) {
+ public FilterReply getFilterChainDecision(IAccessEvent event) {
return fai.getFilterChainDecision(event);
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/boolex/JaninoEventEvaluatorTest.java b/logback-access/src/test/java/ch/qos/logback/access/boolex/JaninoEventEvaluatorTest.java
index f16caac..5dd6fdb 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/boolex/JaninoEventEvaluatorTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/boolex/JaninoEventEvaluatorTest.java
@@ -17,12 +17,11 @@ package ch.qos.logback.access.boolex;
import ch.qos.logback.access.dummy.DummyRequest;
import ch.qos.logback.access.dummy.DummyResponse;
import ch.qos.logback.access.dummy.DummyServerAdapter;
-import ch.qos.logback.access.net.URLEvaluator;
import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.Context;
import ch.qos.logback.core.ContextBase;
import ch.qos.logback.core.boolex.EvaluationException;
-import ch.qos.logback.core.util.StatusPrinter;
import org.junit.Before;
import org.junit.Test;
@@ -53,7 +52,7 @@ public class JaninoEventEvaluatorTest {
public void smoke() throws EvaluationException {
evaluator.setExpression("event.getProtocol().equals(\"testProtocol\")");
evaluator.start();
- AccessEvent ae = new AccessEvent(request, response, serverAdapter);
+ IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue( evaluator.evaluate(ae));
}
@@ -62,7 +61,7 @@ public class JaninoEventEvaluatorTest {
evaluator.setExpression("String protocol = event.getProtocol();" +
"return protocol.equals(\"testProtocol\");");
evaluator.start();
- AccessEvent ae = new AccessEvent(request, response, serverAdapter);
+ IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue(evaluator.evaluate(ae));
}
@@ -70,7 +69,7 @@ public class JaninoEventEvaluatorTest {
public void invalidExpression() throws EvaluationException {
evaluator.setExpression("return true");
evaluator.start();
- AccessEvent ae = new AccessEvent(request, response, serverAdapter);
+ IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
try {
evaluator.evaluate(ae);
fail("Was expecting an exception");
diff --git a/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderIntegrationTest.java b/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderIntegrationTest.java
index f3f28b6..b6cd260 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderIntegrationTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderIntegrationTest.java
@@ -17,6 +17,7 @@ import static org.junit.Assert.assertEquals;
import java.util.Random;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -27,7 +28,6 @@ import org.junit.Test;
import ch.qos.logback.access.dummy.DummyAccessEventBuilder;
import ch.qos.logback.access.joran.JoranConfigurator;
import ch.qos.logback.access.spi.AccessContext;
-import ch.qos.logback.access.spi.AccessEvent;
import ch.qos.logback.core.Appender;
import ch.qos.logback.core.joran.spi.JoranException;
import ch.qos.logback.core.status.Status;
@@ -64,10 +64,10 @@ public class DBAppenderIntegrationTest {
configurator.setContext(context);
configurator.doConfigure(configFile);
- Appender<AccessEvent> appender = context.getAppender("DB");
+ Appender<IAccessEvent> appender = context.getAppender("DB");
for (int i = 0; i < 10; i++) {
- AccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
+ IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
appender.doAppend(event);
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderTest.java b/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderTest.java
index fa8f90e..58a7319 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/db/DBAppenderTest.java
@@ -22,6 +22,7 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -88,7 +89,7 @@ public class DBAppenderTest {
public void testAppendAccessEvent() throws SQLException {
setInsertHeadersAndStart(false);
- AccessEvent event = createAccessEvent();
+ IAccessEvent event = createAccessEvent();
appender.append(event);
Statement stmt = connectionSource.getConnection().createStatement();
@@ -118,7 +119,7 @@ public class DBAppenderTest {
public void testCheckNoHeadersAreInserted() throws Exception {
setInsertHeadersAndStart(false);
- AccessEvent event = createAccessEvent();
+ IAccessEvent event = createAccessEvent();
appender.append(event);
StatusPrinter.print(context.getStatusManager());
@@ -136,7 +137,7 @@ public class DBAppenderTest {
public void testAppendHeaders() throws SQLException {
setInsertHeadersAndStart(true);
- AccessEvent event = createAccessEvent();
+ IAccessEvent event = createAccessEvent();
appender.append(event);
Statement stmt = connectionSource.getConnection().createStatement();
@@ -172,7 +173,7 @@ public class DBAppenderTest {
setInsertHeadersAndStart(false);
String uri = "testAppendMultipleEvents";
for (int i = 0; i < 10; i++) {
- AccessEvent event = createAccessEvent(uri);
+ IAccessEvent event = createAccessEvent(uri);
appender.append(event);
}
@@ -191,17 +192,16 @@ public class DBAppenderTest {
stmt.close();
}
- private AccessEvent createAccessEvent() {
+ private IAccessEvent createAccessEvent() {
return createAccessEvent("");
}
- private AccessEvent createAccessEvent(String uri) {
+ private IAccessEvent createAccessEvent(String uri) {
DummyRequest request = new DummyRequest();
request.setRequestUri(uri);
DummyResponse response = new DummyResponse();
DummyServerAdapter adapter = new DummyServerAdapter(request, response);
- AccessEvent ae = new AccessEvent(request, response, adapter);
- return ae;
+ return new AccessEvent(request, response, adapter);
}
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyAccessEventBuilder.java b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyAccessEventBuilder.java
index 85595cf..9586984 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyAccessEventBuilder.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/dummy/DummyAccessEventBuilder.java
@@ -14,17 +14,17 @@
package ch.qos.logback.access.dummy;
import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
public class DummyAccessEventBuilder {
- static public AccessEvent buildNewAccessEvent() {
+ static public IAccessEvent buildNewAccessEvent() {
DummyRequest request = new DummyRequest();
DummyResponse response = new DummyResponse();
DummyServerAdapter adapter = new DummyServerAdapter(request, response);
- AccessEvent ae = new AccessEvent(request, response, adapter);
- return ae;
+ return new AccessEvent(request, response, adapter);
}
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyBasicTest.java b/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyBasicTest.java
index 805db06..393f11f 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyBasicTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyBasicTest.java
@@ -21,11 +21,11 @@ import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
-import ch.qos.logback.access.spi.AccessEvent;
import ch.qos.logback.access.spi.Util;
import ch.qos.logback.access.testUtil.NotifyingListAppender;
import ch.qos.logback.core.testUtil.RandomUtil;
@@ -85,7 +85,7 @@ public class JettyBasicTest {
}
assertTrue(listAppender.list.size() > 0);
- AccessEvent event = (AccessEvent) listAppender.list.get(0);
+ IAccessEvent event = listAppender.list.get(0);
assertEquals("127.0.0.1", event.getRemoteHost());
assertEquals("localhost", event.getServerName());
listAppender.list.clear();
@@ -122,7 +122,7 @@ public class JettyBasicTest {
}
@SuppressWarnings("unused")
- AccessEvent event = (AccessEvent) listAppender.list.get(0);
+ IAccessEvent event = listAppender.list.get(0);
// we should test the contents of the requests
// assertEquals(msg, event.getRequestContent());
diff --git a/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixture.java b/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixture.java
index 87fb172..4a6f891 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixture.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/jetty/JettyFixture.java
@@ -20,6 +20,7 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.HttpConnection;
import org.mortbay.jetty.Request;
@@ -27,7 +28,6 @@ import org.mortbay.jetty.handler.AbstractHandler;
import org.mortbay.util.ByteArrayISO8859Writer;
import ch.qos.logback.access.PatternLayoutEncoder;
-import ch.qos.logback.access.spi.AccessEvent;
import ch.qos.logback.access.testUtil.NotifyingListAppender;
import ch.qos.logback.core.ConsoleAppender;
@@ -56,7 +56,7 @@ public class JettyFixture extends JettyFixtureBase {
appender.setName("list");
appender.start();
- ConsoleAppender<AccessEvent> console = new ConsoleAppender<AccessEvent>();
+ ConsoleAppender<IAccessEvent> console = new ConsoleAppender<IAccessEvent>();
console.setContext(requestLogImpl);
console.setName("console");
PatternLayoutEncoder layout = new PatternLayoutEncoder();
@@ -98,4 +98,4 @@ class BasicHandler extends AbstractHandler {
base_request.setHandled(true);
}
-}
\ No newline at end of file
+}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/joran/JoranConfiguratorTest.java b/logback-access/src/test/java/ch/qos/logback/access/joran/JoranConfiguratorTest.java
index c24d18b..7551b54 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/joran/JoranConfiguratorTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/joran/JoranConfiguratorTest.java
@@ -17,6 +17,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -24,7 +25,6 @@ import org.junit.Test;
import ch.qos.logback.access.TeztConstants;
import ch.qos.logback.access.dummy.DummyAccessEventBuilder;
import ch.qos.logback.access.spi.AccessContext;
-import ch.qos.logback.access.spi.AccessEvent;
import ch.qos.logback.core.joran.spi.JoranException;
import ch.qos.logback.core.read.ListAppender;
import ch.qos.logback.core.testUtil.StringListAppender;
@@ -51,24 +51,24 @@ public class JoranConfiguratorTest {
public void smoke() throws Exception {
configure(TeztConstants.TEST_DIR_PREFIX + "input/joran/smoke.xml");
- ListAppender<AccessEvent> listAppender = (ListAppender<AccessEvent>) context
+ ListAppender<IAccessEvent> listAppender = (ListAppender<IAccessEvent>) context
.getAppender("LIST");
- AccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
+ IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
listAppender.doAppend(event);
assertEquals(1, listAppender.list.size());
assertEquals(1, listAppender.list.size());
- AccessEvent ae = (AccessEvent) listAppender.list.get(0);
+ IAccessEvent ae = listAppender.list.get(0);
assertNotNull(ae);
}
@Test
public void defaultLayout() throws Exception {
configure(TeztConstants.TEST_DIR_PREFIX + "input/joran/defaultLayout.xml");
- StringListAppender<AccessEvent> listAppender = (StringListAppender<AccessEvent>) context
+ StringListAppender<IAccessEvent> listAppender = (StringListAppender<IAccessEvent>) context
.getAppender("STR_LIST");
- AccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
+ IAccessEvent event = DummyAccessEventBuilder.buildNewAccessEvent();
listAppender.doAppend(event);
assertEquals(1, listAppender.strList.size());
// the result contains a line separator at the end
diff --git a/logback-access/src/test/java/ch/qos/logback/access/net/MockSocketServer.java b/logback-access/src/test/java/ch/qos/logback/access/net/MockSocketServer.java
index b6cfee8..a2d5c5c 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/net/MockSocketServer.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/net/MockSocketServer.java
@@ -20,7 +20,8 @@ import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
-import ch.qos.logback.access.spi.AccessEvent;
+//import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
/**
@@ -32,7 +33,7 @@ public class MockSocketServer extends Thread {
final int loopLen;
- List<AccessEvent> accessEventList = new ArrayList<AccessEvent>();
+ List<IAccessEvent> accessEventList = new ArrayList<IAccessEvent>();
boolean finished = false;
MockSocketServer(int loopLen) {
@@ -45,14 +46,13 @@ public class MockSocketServer extends Thread {
ObjectInputStream ois = null;
ServerSocket serverSocket = null;
// Object readObject;
- AccessEvent event;
try {
serverSocket = new ServerSocket(PORT);
Socket socket = serverSocket.accept();
ois = new ObjectInputStream(new BufferedInputStream(socket
.getInputStream()));
for (int i = 0; i < loopLen; i++) {
- event = (AccessEvent) ois.readObject();
+ IAccessEvent event = (IAccessEvent) ois.readObject();
accessEventList.add(event);
}
} catch (Exception se) {
diff --git a/logback-access/src/test/java/ch/qos/logback/access/net/SerializationPerfTest.java b/logback-access/src/test/java/ch/qos/logback/access/net/SerializationPerfTest.java
index 918b1f4..2479976 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/net/SerializationPerfTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/net/SerializationPerfTest.java
@@ -16,9 +16,9 @@ package ch.qos.logback.access.net;
import java.io.IOException;
import java.io.ObjectOutputStream;
+import ch.qos.logback.access.spi.IAccessEvent;
import junit.framework.TestCase;
import ch.qos.logback.access.dummy.DummyAccessEventBuilder;
-import ch.qos.logback.access.spi.AccessEvent;
public class SerializationPerfTest extends TestCase {
@@ -48,7 +48,7 @@ public class SerializationPerfTest extends TestCase {
int pauseCounter = 0;
for (int i = 0; i < loopNumber; i++) {
try {
- AccessEvent ae = DummyAccessEventBuilder.buildNewAccessEvent();
+ IAccessEvent ae = DummyAccessEventBuilder.buildNewAccessEvent();
//average time for the next method: 5000 nanos
ae.prepareForDeferredProcessing();
oos.writeObject(ae);
@@ -76,7 +76,7 @@ public class SerializationPerfTest extends TestCase {
// System.out.println("Beginning mesured run");
for (int i = 0; i < loopNumber; i++) {
try {
- AccessEvent ae = DummyAccessEventBuilder.buildNewAccessEvent();
+ IAccessEvent ae = DummyAccessEventBuilder.buildNewAccessEvent();
t1 = System.nanoTime();
//average length of the next method: 4000 nanos
ae.prepareForDeferredProcessing();
diff --git a/logback-access/src/test/java/ch/qos/logback/access/net/SocketAppenderTest.java b/logback-access/src/test/java/ch/qos/logback/access/net/SocketAppenderTest.java
index f9e7bfd..795d98f 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/net/SocketAppenderTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/net/SocketAppenderTest.java
@@ -16,6 +16,7 @@ package ch.qos.logback.access.net;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.Test;
import ch.qos.logback.access.dummy.DummyRequest;
@@ -52,7 +53,7 @@ public class SocketAppenderTest {
assertTrue(mockSocketServer.finished);
assertEquals(1, mockSocketServer.accessEventList.size());
- AccessEvent remoteEvent = mockSocketServer.accessEventList.get(0);
+ IAccessEvent remoteEvent = mockSocketServer.accessEventList.get(0);
//check that the values are available although the request and response
//objects did not survive serialization
assertEquals("headerValue1", remoteEvent.getRequestHeader("headerName1"));
@@ -78,12 +79,11 @@ public class SocketAppenderTest {
socketAppender.start();
}
- private AccessEvent buildNewAccessEvent() {
+ private IAccessEvent buildNewAccessEvent() {
DummyRequest request = new DummyRequest();
DummyResponse response = new DummyResponse();
DummyServerAdapter adapter = new DummyServerAdapter(request, response);
- AccessEvent ae = new AccessEvent(request, response, adapter);
- return ae;
+ return new AccessEvent(request, response, adapter);
}
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/net/URLEvaluatorTest.java b/logback-access/src/test/java/ch/qos/logback/access/net/URLEvaluatorTest.java
index f259f65..dd2bf4d 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/net/URLEvaluatorTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/net/URLEvaluatorTest.java
@@ -15,6 +15,7 @@ package ch.qos.logback.access.net;
import static org.junit.Assert.*;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -61,14 +62,14 @@ public class URLEvaluatorTest {
@Test
public void testExpectFalse() throws EvaluationException {
request.setRequestUri("test");
- AccessEvent ae = new AccessEvent(request, response, serverAdapter);
+ IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertFalse(evaluator.evaluate(ae));
}
@Test
public void testExpectTrue() throws EvaluationException {
request.setRequestUri(expectedURL1);
- AccessEvent ae = new AccessEvent(request, response, serverAdapter);
+ IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue(evaluator.evaluate(ae));
}
@@ -76,7 +77,7 @@ public class URLEvaluatorTest {
public void testExpectTrueMultiple() throws EvaluationException {
evaluator.addURL(expectedURL2);
request.setRequestUri(expectedURL2);
- AccessEvent ae = new AccessEvent(request, response, serverAdapter);
+ IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue(evaluator.evaluate(ae));
}
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java b/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
index b96b8bc..c71f1e6 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/pattern/ConverterTest.java
@@ -20,6 +20,7 @@ import java.util.List;
import javax.servlet.http.Cookie;
+import ch.qos.logback.access.spi.IAccessEvent;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -31,7 +32,7 @@ import ch.qos.logback.access.spi.AccessEvent;
public class ConverterTest {
- AccessEvent event;
+ IAccessEvent event;
DummyRequest request;
DummyResponse response;
@@ -191,10 +192,9 @@ public class ConverterTest {
assertEquals(Integer.toString(event.getServerAdapter().getStatusCode()), result);
}
- private AccessEvent createEvent() {
+ private IAccessEvent createEvent() {
DummyServerAdapter dummyAdapter = new DummyServerAdapter(request, response);
- AccessEvent ae = new AccessEvent(request, response, dummyAdapter);
- return ae;
+ return new AccessEvent(request, response, dummyAdapter);
}
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/sift/SiftingAppenderTest.java b/logback-access/src/test/java/ch/qos/logback/access/sift/SiftingAppenderTest.java
index 318c02a..c879f6a 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/sift/SiftingAppenderTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/sift/SiftingAppenderTest.java
@@ -25,7 +25,7 @@ import org.junit.Before;
import org.junit.Test;
import ch.qos.logback.access.jetty.RequestLogImpl;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.access.spi.Util;
import ch.qos.logback.core.read.ListAppender;
import ch.qos.logback.core.testUtil.RandomUtil;
@@ -77,18 +77,18 @@ public class SiftingAppenderTest {
long now = System.currentTimeMillis();
{
- ListAppender<AccessEvent> listAppender = (ListAppender<AccessEvent>) siftingAppender
+ ListAppender<IAccessEvent> listAppender = (ListAppender<IAccessEvent>) siftingAppender
.getAppenderTracker().get("NA", now);
assertEquals(1, listAppender.list.size());
}
{
- ListAppender<AccessEvent> listAppender = (ListAppender<AccessEvent>) siftingAppender
+ ListAppender<IAccessEvent> listAppender = (ListAppender<IAccessEvent>) siftingAppender
.getAppenderTracker().get("x", now);
assertEquals(2, listAppender.list.size());
}
{
- ListAppender<AccessEvent> listAppender = (ListAppender<AccessEvent>) siftingAppender
+ ListAppender<IAccessEvent> listAppender = (ListAppender<IAccessEvent>) siftingAppender
.getAppenderTracker().get("y", now);
assertEquals(1, listAppender.list.size());
}
diff --git a/logback-access/src/test/java/ch/qos/logback/access/spi/AccessEventSerializationTest.java b/logback-access/src/test/java/ch/qos/logback/access/spi/AccessEventSerializationTest.java
index b486836..acc4767 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/spi/AccessEventSerializationTest.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/spi/AccessEventSerializationTest.java
@@ -34,7 +34,7 @@ public class AccessEventSerializationTest {
ClassNotFoundException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
- AccessEvent ae = DummyAccessEventBuilder.buildNewAccessEvent();
+ IAccessEvent ae = DummyAccessEventBuilder.buildNewAccessEvent();
// average time for the next method: 5000 nanos
ae.prepareForDeferredProcessing();
oos.writeObject(ae);
@@ -50,7 +50,7 @@ public class AccessEventSerializationTest {
public void testSerialization() throws IOException, ClassNotFoundException {
Object o = buildSerializedAccessEvent();
assertNotNull(o);
- AccessEvent aeBack = (AccessEvent) o;
+ IAccessEvent aeBack = (IAccessEvent) o;
assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP, aeBack
diff --git a/logback-access/src/test/java/ch/qos/logback/access/testUtil/NotifyingListAppender.java b/logback-access/src/test/java/ch/qos/logback/access/testUtil/NotifyingListAppender.java
index 950a5ab..40179c8 100644
--- a/logback-access/src/test/java/ch/qos/logback/access/testUtil/NotifyingListAppender.java
+++ b/logback-access/src/test/java/ch/qos/logback/access/testUtil/NotifyingListAppender.java
@@ -16,14 +16,14 @@ package ch.qos.logback.access.testUtil;
import java.util.ArrayList;
import java.util.List;
-import ch.qos.logback.access.spi.AccessEvent;
+import ch.qos.logback.access.spi.IAccessEvent;
import ch.qos.logback.core.AppenderBase;
-public class NotifyingListAppender extends AppenderBase<AccessEvent> {
+public class NotifyingListAppender extends AppenderBase<IAccessEvent> {
- public List<AccessEvent> list = new ArrayList<AccessEvent>();
+ public List<IAccessEvent> list = new ArrayList<IAccessEvent>();
- protected void append(AccessEvent e) {
+ protected void append(IAccessEvent e) {
list.add(e);
synchronized (this) {
this.notify();
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=e6014e4306c6a0f4732e8aef…
http://github.com/ceki/logback/commit/e6014e4306c6a0f4732e8aefd071f8fbfb743…
commit e6014e4306c6a0f4732e8aefd071f8fbfb7437c2
Author: Joern Huxhorn <jhuxhorn(a)googlemail.com>
Date: Mon Mar 28 16:06:08 2011 +0200
Implementing IAccessEvent interface.
ATTENTION, breaking change:
- removed NA_STRING_ARRAY because the content could
have been changed by other classes, previously.
- EMPTY is no longer public but private instead.
diff --git a/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java b/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java
index 6596aaf..7541c27 100644
--- a/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java
+++ b/logback-access/src/main/java/ch/qos/logback/access/spi/AccessEvent.java
@@ -29,7 +29,6 @@ import javax.servlet.http.HttpServletResponse;
import ch.qos.logback.access.AccessConstants;
import ch.qos.logback.access.pattern.AccessConverter;
import ch.qos.logback.access.servlet.Util;
-import ch.qos.logback.core.spi.DeferredProcessingAware;
// Contributors: Joern Huxhorn (see also bug #110)
@@ -42,16 +41,12 @@ import ch.qos.logback.core.spi.DeferredProcessingAware;
* @author Ceki Gülcü
* @author Sébastien Pennec
*/
-public class AccessEvent implements Serializable, DeferredProcessingAware {
+public class AccessEvent implements Serializable, IAccessEvent {
private static final long serialVersionUID = 866718993618836343L;
- public final static String NA = "-";
- public final static String[] NA_STRING_ARRAY = new String[] { AccessEvent.NA };
-
- public final static String EMPTY = "";
- public static final int SENTINEL = -1;
+ private static final String EMPTY = "";
private transient final HttpServletRequest httpRequest;
private transient final HttpServletResponse httpResponse;
@@ -129,7 +124,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
requestURI = httpRequest.getRequestURI();
} else {
- requestURI = AccessEvent.NA;
+ requestURI = NA;
}
}
return requestURI;
@@ -154,7 +149,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
buf.append(httpRequest.getProtocol());
requestURL = buf.toString();
} else {
- requestURL = AccessEvent.NA;
+ requestURL = NA;
}
}
return requestURL;
@@ -167,7 +162,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
// determine if remote lookup will be performed
remoteHost = httpRequest.getRemoteHost();
} else {
- remoteHost = AccessEvent.NA;
+ remoteHost = NA;
}
}
return remoteHost;
@@ -178,7 +173,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
remoteUser = httpRequest.getRemoteUser();
} else {
- remoteUser = AccessEvent.NA;
+ remoteUser = NA;
}
}
return remoteUser;
@@ -189,7 +184,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
protocol = httpRequest.getProtocol();
} else {
- protocol = AccessEvent.NA;
+ protocol = NA;
}
}
return protocol;
@@ -200,7 +195,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
method = httpRequest.getMethod();
} else {
- method = AccessEvent.NA;
+ method = NA;
}
}
return method;
@@ -211,7 +206,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
serverName = httpRequest.getServerName();
} else {
- serverName = AccessEvent.NA;
+ serverName = NA;
}
}
return serverName;
@@ -222,7 +217,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
remoteAddr = httpRequest.getRemoteAddr();
} else {
- remoteAddr = AccessEvent.NA;
+ remoteAddr = NA;
}
}
return remoteAddr;
@@ -243,7 +238,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (result != null) {
return result;
} else {
- return AccessEvent.NA;
+ return NA;
}
}
@@ -305,12 +300,12 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
Object value = httpRequest.getAttribute(key);
if (value == null) {
- return AccessEvent.NA;
+ return NA;
} else {
return value.toString();
}
} else {
- return AccessEvent.NA;
+ return NA;
}
}
@@ -318,12 +313,12 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
String[] value = httpRequest.getParameterValues(key);
if (value == null) {
- return NA_STRING_ARRAY;
+ return new String[] { NA };
} else {
return value;
}
} else {
- return NA_STRING_ARRAY;
+ return new String[] { NA };
}
}
@@ -332,7 +327,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
if (httpRequest != null) {
Cookie[] cookieArray = httpRequest.getCookies();
if (cookieArray == null) {
- return AccessEvent.NA;
+ return NA;
}
for (Cookie cookie : cookieArray) {
@@ -341,7 +336,7 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
}
}
}
- return AccessEvent.NA;
+ return NA;
}
public long getContentLength() {
@@ -494,4 +489,4 @@ public class AccessEvent implements Serializable, DeferredProcessingAware {
getRequestContent();
getResponseContent();
}
-}
\ No newline at end of file
+}
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=146b2027091f6f34b9fe22a5…
http://github.com/ceki/logback/commit/146b2027091f6f34b9fe22a5f3548046756e0…
commit 146b2027091f6f34b9fe22a5f3548046756e08ec
Author: Joern Huxhorn <jhuxhorn(a)googlemail.com>
Date: Mon Mar 28 16:01:25 2011 +0200
New IAccessEvent interface.
diff --git a/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java b/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java
new file mode 100644
index 0000000..7fe5ce2
--- /dev/null
+++ b/logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java
@@ -0,0 +1,118 @@
+/**
+ * Logback: the reliable, generic, fast and flexible logging framework.
+ * Copyright (C) 1999-2009, QOS.ch. All rights reserved.
+ *
+ * This program and the accompanying materials are dual-licensed under
+ * either the terms of the Eclipse Public License v1.0 as published by
+ * the Eclipse Foundation
+ *
+ * or (per the licensee's choosing)
+ *
+ * under the terms of the GNU Lesser General Public License version 2.1
+ * as published by the Free Software Foundation.
+ */
+package ch.qos.logback.access.spi;
+
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import ch.qos.logback.core.spi.DeferredProcessingAware;
+
+// Contributors: Joern Huxhorn (see also bug #110)
+
+/**
+ * The Access module's internal representation of logging events. When the
+ * logging component instance is called in the container to log then a
+ * <code>AccessEvent</code> instance is created. This instance is passed
+ * around to the different logback components.
+ *
+ * @author Ceki Gülcü
+ * @author Sébastien Pennec
+ * @author Jörn Huxhorn
+ */
+public interface IAccessEvent extends DeferredProcessingAware {
+
+ String NA = "-";
+ int SENTINEL = -1;
+
+ /**
+ * Returns the underlying HttpServletRequest. After serialization the returned
+ * value will be null.
+ *
+ * @return
+ */
+ HttpServletRequest getRequest();
+
+ /**
+ * Returns the underlying HttpServletResponse. After serialization the returned
+ * value will be null.
+ *
+ * @return
+ */
+ HttpServletResponse getResponse();
+
+ /**
+ * The number of milliseconds elapsed from 1/1/1970 until logging event was
+ * created.
+ */
+ long getTimeStamp();
+
+ String getRequestURI();
+
+ /**
+ * The first line of the request.
+ */
+ String getRequestURL();
+
+ String getRemoteHost();
+
+ String getRemoteUser();
+
+ String getProtocol();
+
+ String getMethod();
+
+ String getServerName();
+
+ String getRemoteAddr();
+
+ String getRequestHeader(String key);
+
+ Enumeration getRequestHeaderNames();
+
+ Map<String, String> getRequestHeaderMap();
+
+ Map<String, String[]> getRequestParameterMap();
+
+ /**
+ * Attributes are not serialized
+ *
+ * @param key
+ */
+ String getAttribute(String key);
+
+ String[] getRequestParameter(String key);
+
+ String getCookie(String key);
+
+ long getContentLength();
+
+ int getStatusCode();
+
+ String getRequestContent();
+
+ String getResponseContent();
+
+ int getLocalPort();
+
+ ServerAdapter getServerAdapter();
+
+ String getResponseHeader(String key);
+
+ Map<String, String> getResponseHeaderMap();
+
+ List<String> getResponseHeaderNameList();
+}
-----------------------------------------------------------------------
Summary of changes:
.../java/ch/qos/logback/access/PatternLayout.java | 8 +-
.../qos/logback/access/PatternLayoutEncoder.java | 6 +-
.../access/boolex/JaninoEventEvaluator.java | 11 +-
.../java/ch/qos/logback/access/db/DBAppender.java | 12 +-
.../ch/qos/logback/access/html/HTMLLayout.java | 12 +-
.../qos/logback/access/jetty/RequestLogImpl.java | 25 ++--
.../logback/access/jetty/v7/RequestLogImpl.java | 27 +++--
.../AccessEventPreSerializationTransformer.java | 11 ++-
.../ch/qos/logback/access/net/SMTPAppender.java | 18 ++--
.../ch/qos/logback/access/net/SocketAppender.java | 15 +--
.../java/ch/qos/logback/access/net/SocketNode.java | 8 +-
.../ch/qos/logback/access/net/URLEvaluator.java | 4 +-
.../logback/access/pattern/AccessConverter.java | 4 +-
.../access/pattern/ContentLengthConverter.java | 8 +-
.../qos/logback/access/pattern/DateConverter.java | 4 +-
.../access/pattern/EnsureLineSeparation.java | 10 +-
.../access/pattern/FullRequestConverter.java | 4 +-
.../access/pattern/FullResponseConverter.java | 4 +-
.../access/pattern/LineSeparatorConverter.java | 4 +-
.../access/pattern/LocalIPAddressConverter.java | 4 +-
.../logback/access/pattern/LocalPortConverter.java | 4 +-
.../ch/qos/logback/access/pattern/NAConverter.java | 6 +-
.../access/pattern/RemoteHostConverter.java | 4 +-
.../access/pattern/RemoteIPAddressConverter.java | 4 +-
.../access/pattern/RemoteUserConverter.java | 6 +-
.../access/pattern/RequestAttributeConverter.java | 4 +-
.../access/pattern/RequestContentConverter.java | 4 +-
.../access/pattern/RequestCookieConverter.java | 4 +-
.../access/pattern/RequestHeaderConverter.java | 4 +-
.../access/pattern/RequestMethodConverter.java | 4 +-
.../access/pattern/RequestParameterConverter.java | 4 +-
.../access/pattern/RequestProtocolConverter.java | 4 +-
.../access/pattern/RequestURIConverter.java | 4 +-
.../access/pattern/RequestURLConverter.java | 4 +-
.../access/pattern/ResponseContentConverter.java | 4 +-
.../access/pattern/ResponseHeaderConverter.java | 4 +-
.../access/pattern/ServerNameConverter.java | 4 +-
.../access/pattern/StatusCodeConverter.java | 4 +-
.../access/sift/AccessEventDiscriminator.java | 18 ++--
.../qos/logback/access/sift/AppenderFactory.java | 6 +-
.../qos/logback/access/sift/SiftingAppender.java | 9 +-
.../access/sift/SiftingJoranConfigurator.java | 8 +-
.../ch/qos/logback/access/spi/AccessContext.java | 24 ++--
.../ch/qos/logback/access/spi/AccessEvent.java | 41 +++----
.../ch/qos/logback/access/spi/IAccessEvent.java | 118 ++++++++++++++++++++
.../ch/qos/logback/access/tomcat/LogbackValve.java | 25 ++--
.../access/boolex/JaninoEventEvaluatorTest.java | 9 +-
.../access/db/DBAppenderIntegrationTest.java | 6 +-
.../ch/qos/logback/access/db/DBAppenderTest.java | 16 ++--
.../access/dummy/DummyAccessEventBuilder.java | 6 +-
.../qos/logback/access/jetty/JettyBasicTest.java | 6 +-
.../ch/qos/logback/access/jetty/JettyFixture.java | 6 +-
.../access/joran/JoranConfiguratorTest.java | 12 +-
.../qos/logback/access/net/MockSocketServer.java | 8 +-
.../logback/access/net/SerializationPerfTest.java | 6 +-
.../qos/logback/access/net/SocketAppenderTest.java | 8 +-
.../qos/logback/access/net/URLEvaluatorTest.java | 7 +-
.../qos/logback/access/pattern/ConverterTest.java | 8 +-
.../logback/access/sift/SiftingAppenderTest.java | 8 +-
.../access/spi/AccessEventSerializationTest.java | 4 +-
.../access/testUtil/NotifyingListAppender.java | 8 +-
61 files changed, 380 insertions(+), 262 deletions(-)
create mode 100644 logback-access/src/main/java/ch/qos/logback/access/spi/IAccessEvent.java
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
1
0

[GIT] Logback: the generic, reliable, fast and flexible logging framework. branch, master, updated. v_0.9.28-30-g291d3ef
by git-noreply@pixie.qos.ch 28 Mar '11
by git-noreply@pixie.qos.ch 28 Mar '11
28 Mar '11
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Logback: the generic, reliable, fast and flexible logging framework.".
The branch, master has been updated
via 291d3efbed616b1c62b2ba465cf727fc99ddda70 (commit)
via f62521f7f7549c8d3a03b421ea4aa288bbffda36 (commit)
via 8fa4596a4c7b813e94138983a0504ca638673280 (commit)
from ebb58bb6ea3816a4e4ffd805b722c8121bba61a6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=291d3efbed616b1c62b2ba46…
http://github.com/ceki/logback/commit/291d3efbed616b1c62b2ba465cf727fc99ddd…
commit 291d3efbed616b1c62b2ba465cf727fc99ddda70
Merge: f62521f ebb58bb
Author: Ceki Gulcu <ceki(a)qos.ch>
Date: Mon Mar 28 21:41:57 2011 +0200
Merge branch 'master' of git.qos.ch:logback
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=f62521f7f7549c8d3a03b421…
http://github.com/ceki/logback/commit/f62521f7f7549c8d3a03b421ea4aa288bbffd…
commit f62521f7f7549c8d3a03b421ea4aa288bbffda36
Author: Ceki Gulcu <ceki(a)qos.ch>
Date: Mon Mar 28 21:40:50 2011 +0200
ongoing work on Dateformatting
diff --git a/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java b/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java
index 624390d..94b4399 100644
--- a/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java
+++ b/logback-core/src/test/java/ch/qos/logback/core/time/DateFormattingThroughputTest.java
@@ -11,7 +11,6 @@ import java.text.SimpleDateFormat;
import java.util.Date;
-@Ignore
public class DateFormattingThroughputTest {
@@ -30,7 +29,7 @@ public class DateFormattingThroughputTest {
SimpleDateFormat sdf = new SimpleDateFormat(PATTERN);
RunnableWithCounterAndDone[] sdfRunnables = buildSDFRunnables(sdf);
tp.execute(sdfRunnables);
- tp.printThroughput("SDF with synchronization: ", true);
+ tp.printThroughput("SDF with synchronization: ", false);
}
RunnableWithCounterAndDone[] buildSDFRunnables(SimpleDateFormat sdf) {
@@ -49,7 +48,7 @@ public class DateFormattingThroughputTest {
DateTimeFormatter fmt = DateTimeFormat.forPattern(PATTERN);
RunnableWithCounterAndDone[] yodaRunnables = buildYodaRunnables(fmt);
tp.execute(yodaRunnables);
- tp.printThroughput("Yoda: ", true);
+ tp.printThroughput("Yoda: ", false);
}
RunnableWithCounterAndDone[] buildYodaRunnables(DateTimeFormatter fmt) {
@@ -64,6 +63,7 @@ public class DateFormattingThroughputTest {
class SDFRunnabable extends RunnableWithCounterAndDone {
SimpleDateFormat sdf;
+ long lasttime = -1;
SDFRunnabable(SimpleDateFormat sdf) {
this.sdf = sdf;
@@ -71,10 +71,16 @@ public class DateFormattingThroughputTest {
public void run() {
while (!done) {
- synchronized (sdf) {
- sdf.format(new Date());
- }
counter++;
+ long now = System.currentTimeMillis();
+ if (now == lasttime) {
+
+ } else {
+ lasttime = now;
+ synchronized (sdf) {
+ sdf.format(new Date());
+ }
+ }
}
}
}
@@ -82,6 +88,7 @@ public class DateFormattingThroughputTest {
class YodaTimeRunnable extends RunnableWithCounterAndDone {
DateTimeFormatter yodaDTFt;
+ long lasttime = -1;
YodaTimeRunnable(DateTimeFormatter dtf) {
this.yodaDTFt = dtf;
@@ -89,9 +96,13 @@ public class DateFormattingThroughputTest {
public void run() {
while (!done) {
- long now = System.currentTimeMillis();
- yodaDTFt.print(now);
counter++;
+ long now = System.currentTimeMillis();
+ if (now == lasttime) {
+ } else {
+ lasttime = now;
+ yodaDTFt.print(now);
+ }
}
}
}
diff --git a/logback-core/src/test/scala/ch/qos/logback/core/rolling/LBCORE_199.scala b/logback-core/src/test/scala/ch/qos/logback/core/rolling/LBCORE_199.scala
index fc7ea2a..8dcb859 100644
--- a/logback-core/src/test/scala/ch/qos/logback/core/rolling/LBCORE_199.scala
+++ b/logback-core/src/test/scala/ch/qos/logback/core/rolling/LBCORE_199.scala
@@ -38,7 +38,7 @@ class LBCORE_199 extends RollingScaffolding {
def smoke() {
println("ba")
initRFA("toto.log")
- fwrp.setFileNamePattern("tests.%i.log.gz")
+ fwrp.setFileNamePattern("tests.%i.log.zip")
fwrp.minIndex = 1
fwrp.maxIndex = 3
fwrp.setParent(rfa)
http://git.qos.ch/gitweb/?p=logback.git;a=commit;h=8fa4596a4c7b813e94138983…
http://github.com/ceki/logback/commit/8fa4596a4c7b813e94138983a0504ca638673…
commit 8fa4596a4c7b813e94138983a0504ca638673280
Author: Joern Huxhorn <jhuxhorn(a)googlemail.com>
Date: Mon Mar 28 12:37:17 2011 +0200
Fixes LBCLASSIC-257. Added additional c'tor to LoggerContextVO.
diff --git a/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextVO.java b/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextVO.java
index d2c2e36..0230da2 100644
--- a/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextVO.java
+++ b/logback-classic/src/main/java/ch/qos/logback/classic/spi/LoggerContextVO.java
@@ -47,6 +47,12 @@ public class LoggerContextVO implements Serializable {
this.birthTime = lc.getBirthTime();
}
+ public LoggerContextVO(String name, Map<String,String> propertyMap, long birthTime) {
+ this.name = name;
+ this.propertyMap = propertyMap;
+ this.birthTime = birthTime;
+ }
+
public String getName() {
return name;
}
-----------------------------------------------------------------------
Summary of changes:
.../qos/logback/classic/spi/LoggerContextVO.java | 6 ++++
.../core/time/DateFormattingThroughputTest.java | 27 ++++++++++++++------
.../ch/qos/logback/core/rolling/LBCORE_199.scala | 2 +-
3 files changed, 26 insertions(+), 9 deletions(-)
hooks/post-receive
--
Logback: the generic, reliable, fast and flexible logging framework.
1
0