You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ca...@apache.org on 2007/04/25 17:08:16 UTC
svn commit: r532381 - in /logging/sandbox/log4j/pattern-layout: ./
src/main/java/org/apache/log4j/ src/main/java/org/apache/log4j/helpers/
src/main/java/org/apache/log4j/pattern/ src/test/java/org/apache/log4j/
src/test/java/org/apache/log4j/pattern/ s...
Author: carnold
Date: Wed Apr 25 08:08:13 2007
New Revision: 532381
URL: http://svn.apache.org/viewvc?view=rev&rev=532381
Log:
Bug 42121: log4j 1.2-ify PatternLayout
Added:
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LogEvent.java
- copied, changed from r532365, logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LoggingEvent.java
logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/MDCOrderFilter.java
Modified:
logging/sandbox/log4j/pattern-layout/ (props changed)
logging/sandbox/log4j/pattern-layout/build.xml
logging/sandbox/log4j/pattern-layout/pom.xml
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/PatternLayout.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/helpers/PatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PatternParser.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java
logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/PatternLayoutTestCase.java
logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java
logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/PatternParserTest.java
logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java
Propchange: logging/sandbox/log4j/pattern-layout/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Apr 25 08:08:13 2007
@@ -1 +1,5 @@
target
+output
+apache-log4j-pattern-layout*
+surefire*
+cobertura.ser
Modified: logging/sandbox/log4j/pattern-layout/build.xml
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/build.xml?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/build.xml (original)
+++ logging/sandbox/log4j/pattern-layout/build.xml Wed Apr 25 08:08:13 2007
@@ -38,12 +38,16 @@
<!-- Versions for dependencies -->
<property name="log4j.version" value="1.3alpha8"/>
<property name="junit.version" value="3.8.1"/>
+ <property name="oro.version" value="2.0.8"/>
<!-- Dependency locations - assumed to be in Maven 2 repository -->
<property name="junit.jar"
location="${m2_repo}/junit/junit/${junit.version}/junit-${junit.version}.jar"/>
<property name="log4j.jar"
location="${m2_repo}/log4j/log4j/${log4j.version}/log4j-${log4j.version}.jar"/>
+ <property name="oro.jar"
+ location="${m2_repo}/oro/oro/${oro.version}/oro-${oro.version}.jar"/>
+
<!-- Java compiler settings -->
<property name="javac.source" value="1.3"/>
@@ -97,7 +101,7 @@
debug="${javac.debug}"
target="${javac.target}"
source="${javac.source}"
- classpath="${log4j.jar}:${junit.jar}:target/classes"/>
+ classpath="${log4j.jar}:${junit.jar}:target/classes:${oro.jar}"/>
<copy todir="target/test-classes">
<fileset dir="src/test/resources"/>
</copy>
@@ -106,7 +110,7 @@
<target name="test" depends="test-compile" description="Run unit tests">
<junit printsummary="yes">
- <classpath path="target/test-classes:target/classes:${log4j.jar}"/>
+ <classpath path="target/test-classes:target/classes:${log4j.jar}:${oro.jar}"/>
<batchtest>
<fileset dir="src/test/java/">
<include name="**/*TestCase.java"/>
Modified: logging/sandbox/log4j/pattern-layout/pom.xml
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/pom.xml?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/pom.xml (original)
+++ logging/sandbox/log4j/pattern-layout/pom.xml Wed Apr 25 08:08:13 2007
@@ -124,7 +124,7 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.3alpha8</version>
+ <version>1.2.14</version>
</dependency>
<dependency>
<groupId>oro</groupId>
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/PatternLayout.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/PatternLayout.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/PatternLayout.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/PatternLayout.java Wed Apr 25 08:08:13 2007
@@ -507,8 +507,7 @@
@since 0.9.0
*/
protected org.apache.log4j.helpers.PatternParser createPatternParser(String pattern) {
- return new org.apache.log4j.pattern.BridgePatternParser(pattern,
- repository, getLogger());
+ return new org.apache.log4j.pattern.BridgePatternParser(pattern);
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/helpers/PatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/helpers/PatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/helpers/PatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/helpers/PatternConverter.java Wed Apr 25 08:08:13 2007
@@ -1,12 +1,12 @@
/*
* Copyright 1999-2005 The Apache Software Foundation.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternConverter.java Wed Apr 25 08:08:13 2007
@@ -17,9 +17,8 @@
package org.apache.log4j.pattern;
import org.apache.log4j.PatternLayout;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggerRepository;
-import org.apache.log4j.spi.LoggerRepositoryEx;
import org.apache.log4j.spi.LoggingEvent;
import java.util.ArrayList;
@@ -57,12 +56,9 @@
/**
* Create a new instance.
* @param pattern pattern, may not be null.
- * @param repository logger repository, may be null.
- * @param logger logger for internal logging.
*/
public BridgePatternConverter(
- final String pattern, final LoggerRepository repository,
- final ULogger logger) {
+ final String pattern) {
next = null;
handlesExceptions = false;
@@ -70,15 +66,9 @@
List fields = new ArrayList();
Map converterRegistry = null;
- if (repository instanceof LoggerRepositoryEx) {
- converterRegistry =
- (Map) ((LoggerRepositoryEx) repository).getObject(
- PatternLayout.PATTERN_RULE_REGISTRY);
- }
-
PatternParser.parse(
pattern, converters, fields, converterRegistry,
- PatternParser.getPatternLayoutRules(), logger);
+ PatternParser.getPatternLayoutRules());
patternConverters = new LoggingEventPatternConverter[converters.size()];
patternFields = new FormattingInfo[converters.size()];
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/BridgePatternParser.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggerRepository;
@@ -31,28 +31,15 @@
*/
public final class BridgePatternParser
extends org.apache.log4j.helpers.PatternParser {
- /**
- * Logger repository.
- */
- private final LoggerRepository repository;
- /**
- * Internal logger.
- */
- private final ULogger logger;
/**
* Create a new instance.
* @param conversionPattern pattern, may not be null.
- * @param repository repository, may be null.
- * @param logger internal logger, may be null.
*/
public BridgePatternParser(
- final String conversionPattern, final LoggerRepository repository,
- final ULogger logger) {
+ final String conversionPattern) {
super(conversionPattern);
- this.repository = repository;
- this.logger = logger;
}
/**
@@ -60,6 +47,6 @@
* @return pattern converter.
*/
public org.apache.log4j.helpers.PatternConverter parse() {
- return new BridgePatternConverter(pattern, repository, logger);
+ return new BridgePatternConverter(pattern);
}
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ClassNamePatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.LocationInfo;
@@ -31,22 +31,20 @@
/**
* Private constructor.
* @param options options, may be null.
- * @param logger logger for diagnostic messages, may be null.
*/
private ClassNamePatternConverter(
- final String[] options, final ULogger logger) {
+ final String[] options) {
super("Class Name", "class name", options);
}
/**
* Gets an instance of ClassNamePatternConverter.
* @param options options, may be null.
- * @param logger logger for diagnostic messages, may be null.
* @return instance of pattern converter.
*/
public static ClassNamePatternConverter newInstance(
- final String[] options, final ULogger logger) {
- return new ClassNamePatternConverter(options, logger);
+ final String[] options) {
+ return new ClassNamePatternConverter(options);
}
/**
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/DatePatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,8 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
-import org.apache.log4j.helpers.Constants;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import java.text.SimpleDateFormat;
@@ -33,6 +32,33 @@
* @since 1.3
*/
public final class DatePatternConverter extends LoggingEventPatternConverter {
+ /**
+ * ABSOLUTE string literal.
+ */
+ private static final String ABSOLUTE_FORMAT = "ABSOLUTE";
+ /**
+ * SimpleTimePattern for ABSOLUTE.
+ */
+ private static final String ABSOLUTE_TIME_PATTERN = "HH:mm:ss,SSS";
+
+
+ /**
+ * DATE string literal.
+ */
+ private static final String DATE_AND_TIME_FORMAT = "DATE";
+ /**
+ * SimpleTimePattern for DATE.
+ */
+ private static final String DATE_AND_TIME_PATTERN = "dd MMM yyyy HH:mm:ss,SSS";
+
+ /**
+ * ISO8601 string literal.
+ */
+ private static final String ISO8601_FORMAT = "ISO8601";
+ /**
+ * SimpleTimePattern for ISO8601.
+ */
+ private static final String ISO8601_PATTERN = "yyyy-MM-dd HH:mm:ss,SSS";
/**
* Date format.
*/
@@ -41,9 +67,8 @@
/**
* Private constructor.
* @param options options, may be null.
- * @param logger logger for diagnostic messages, may be null.
*/
- private DatePatternConverter(final String[] options, final ULogger logger) {
+ private DatePatternConverter(final String[] options) {
super("Date", "date");
String patternOption;
@@ -60,12 +85,12 @@
if (
(patternOption == null)
- || patternOption.equalsIgnoreCase(Constants.ISO8601_FORMAT)) {
- pattern = Constants.ISO8601_PATTERN;
- } else if (patternOption.equalsIgnoreCase(Constants.ABSOLUTE_FORMAT)) {
- pattern = Constants.ABSOLUTE_TIME_PATTERN;
- } else if (patternOption.equalsIgnoreCase(Constants.DATE_AND_TIME_FORMAT)) {
- pattern = Constants.DATE_AND_TIME_PATTERN;
+ || patternOption.equalsIgnoreCase(ISO8601_FORMAT)) {
+ pattern = ISO8601_PATTERN;
+ } else if (patternOption.equalsIgnoreCase(ABSOLUTE_FORMAT)) {
+ pattern = ABSOLUTE_TIME_PATTERN;
+ } else if (patternOption.equalsIgnoreCase(DATE_AND_TIME_FORMAT)) {
+ pattern = DATE_AND_TIME_PATTERN;
} else {
pattern = patternOption;
}
@@ -77,14 +102,12 @@
simpleFormat = new SimpleDateFormat(pattern);
maximumCacheValidity = CachedDateFormat.getMaximumCacheValidity(pattern);
} catch (IllegalArgumentException e) {
- if (logger != null) {
- logger.warn(
+ LogLog.warn(
"Could not instantiate SimpleDateFormat with pattern "
+ patternOption, e);
- }
// default to the ISO8601 format
- simpleFormat = new SimpleDateFormat(Constants.ISO8601_PATTERN);
+ simpleFormat = new SimpleDateFormat(ISO8601_PATTERN);
}
// if the option list contains a TZ option, then set it.
@@ -99,12 +122,11 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static DatePatternConverter newInstance(
- final String[] options, final ULogger logger) {
- return new DatePatternConverter(options, logger);
+ final String[] options) {
+ return new DatePatternConverter(options);
}
/**
@@ -112,7 +134,7 @@
*/
public void format(final LoggingEvent event, final StringBuffer output) {
synchronized(this) {
- df.format(event.getTimeStamp(), output);
+ df.format(event.timeStamp, output);
}
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileDatePatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
/**
@@ -37,16 +37,17 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static PatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
if ((options == null) || (options.length == 0)) {
return DatePatternConverter.newInstance(
- new String[] { "yyyy-MM-dd" }, logger);
+ new String[] {
+ "yyyy-MM-dd"
+ });
}
- return DatePatternConverter.newInstance(options, logger);
+ return DatePatternConverter.newInstance(options);
}
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FileLocationPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.LocationInfo;
@@ -45,11 +45,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static FileLocationPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/FullLocationPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.LocationInfo;
@@ -45,11 +45,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static FullLocationPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
@@ -60,7 +59,7 @@
LocationInfo locationInfo = event.getLocationInformation();
if (locationInfo != null) {
- output.append(locationInfo.getFullInfo());
+ output.append(locationInfo.fullInfo);
}
}
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/IntegerPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import java.util.Date;
@@ -44,11 +44,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static IntegerPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LevelPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -17,7 +17,7 @@
package org.apache.log4j.pattern;
import org.apache.log4j.Level;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -44,11 +44,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static LevelPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineLocationPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.LocationInfo;
@@ -45,11 +45,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static LineLocationPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LineSeparatorPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -17,7 +17,7 @@
package org.apache.log4j.pattern;
import org.apache.log4j.Layout;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -51,11 +51,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static LineSeparatorPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Copied: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LogEvent.java (from r532365, logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LoggingEvent.java)
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LogEvent.java?view=diff&rev=532381&p1=logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LoggingEvent.java&r1=532365&p2=logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LogEvent.java&r2=532381
==============================================================================
--- logging/log4j/branches/v1_2-branch/src/java/org/apache/log4j/spi/LoggingEvent.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LogEvent.java Wed Apr 25 08:08:13 2007
@@ -15,38 +15,44 @@
* limitations under the License.
*/
-package org.apache.log4j.spi;
+package org.apache.log4j.pattern;
-import org.apache.log4j.*;
-
-import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.Category;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+import org.apache.log4j.MDC;
+import org.apache.log4j.NDC;
+import org.apache.log4j.Priority;
import org.apache.log4j.helpers.Loader;
-import java.lang.reflect.Method;
-import java.io.ObjectOutputStream;
+import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.spi.LocationInfo;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.RendererSupport;
+import org.apache.log4j.spi.ThrowableInformation;
+
import java.io.ObjectInputStream;
-import java.util.Hashtable;
-import java.util.Set;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.Method;
import java.util.Collections;
-import java.util.Map;
import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Set;
// Contributors: Nelson Minar <ne...@monkey.org>
// Wolf Siberski
// Anders Kristensen <ak...@dynamicsoft.com>
/**
- The internal representation of logging events. When an affirmative
- decision is made to log then a <code>LoggingEvent</code> instance
- is created. This instance is passed around to the different log4j
- components.
-
- <p>This class is of concern to those wishing to extend log4j.
-
- @author Ceki Gülcü
- @author James P. Cakalic
-
- @since 0.8.2 */
-public class LoggingEvent implements java.io.Serializable {
+ * This class is a copy of o.a.l.spi.LoggingEvent from
+ * log4j 1.2.15 which has been renamed to keep
+ * the same overall class name length to allow a
+ * serialization written with a prior instance of o.a.l.spi.LoggingEvent
+ * to be deserialized with this class just by mangling the class name
+ * in the byte stream.
+ *
+ */
+public class LogEvent implements java.io.Serializable {
private static long startTime = System.currentTimeMillis();
@@ -148,7 +154,7 @@
@param level The level of this event.
@param message The message of this event.
@param throwable The throwable of this event. */
- public LoggingEvent(String fqnOfCategoryClass, Category logger,
+ public LogEvent(String fqnOfCategoryClass, Category logger,
Priority level, Object message, Throwable throwable) {
this.fqnOfCategoryClass = fqnOfCategoryClass;
this.logger = logger;
@@ -172,7 +178,7 @@
@param level The level of this event.
@param message The message of this event.
@param throwable The throwable of this event. */
- public LoggingEvent(String fqnOfCategoryClass, Category logger,
+ public LogEvent(String fqnOfCategoryClass, Category logger,
long timeStamp, Priority level, Object message,
Throwable throwable) {
this.fqnOfCategoryClass = fqnOfCategoryClass;
@@ -202,7 +208,7 @@
@param info Location info
@param properties MDC properties
*/
- public LoggingEvent(final String fqnOfCategoryClass,
+ public LogEvent(final String fqnOfCategoryClass,
final Logger logger,
final long timeStamp,
final Level level,
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/LoggerPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -32,30 +32,28 @@
* Singleton.
*/
private static final LoggerPatternConverter INSTANCE =
- new LoggerPatternConverter(null, null);
+ new LoggerPatternConverter(null);
/**
* Private constructor.
* @param options options, may be null.
- * @param logger logger for diagnostic messages, may be null.
*/
- private LoggerPatternConverter(final String[] options, final ULogger logger) {
+ private LoggerPatternConverter(final String[] options) {
super("Logger", "logger", options);
}
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static LoggerPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
if ((options == null) || (options.length == 0)) {
return INSTANCE;
}
- return new LoggerPatternConverter(options, logger);
+ return new LoggerPatternConverter(options);
}
/**
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MessagePatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -43,11 +43,10 @@
/**
* Obtains an instance of pattern converter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of pattern converter.
*/
public static MessagePatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/MethodLocationPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.LocationInfo;
@@ -45,11 +45,10 @@
/**
* Obtains an instance of MethodLocationPatternConverter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of MethodLocationPatternConverter.
*/
public static MethodLocationPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/NDCPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -43,11 +43,10 @@
/**
* Obtains an instance of NDCPatternConverter.
* @param options options, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of NDCPatternConverter.
*/
public static NDCPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PatternParser.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PatternParser.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PatternParser.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PatternParser.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.helpers.Loader;
import java.lang.reflect.Method;
@@ -242,12 +242,10 @@
* @param formattingInfos list to receive field specifiers corresponding to pattern converters.
* @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null.
* @param rules map of stock pattern converters keyed by format specifier.
- * @param logger logger to receive parser warnings, may be null.
*/
public static void parse(
final String pattern, final List patternConverters,
- final List formattingInfos, final Map converterRegistry, final Map rules,
- final ULogger logger) {
+ final List formattingInfos, final Map converterRegistry, final Map rules) {
if (pattern == null) {
throw new NullPointerException("pattern");
}
@@ -328,7 +326,7 @@
state = MIN_STATE;
} else {
i = finalizeConverter(
- c, pattern, i, logger, currentLiteral, formattingInfo,
+ c, pattern, i, currentLiteral, formattingInfo,
converterRegistry, rules, patternConverters, formattingInfos);
// Next pattern is assumed to be a literal.
@@ -353,7 +351,7 @@
state = DOT_STATE;
} else {
i = finalizeConverter(
- c, pattern, i, logger, currentLiteral, formattingInfo,
+ c, pattern, i, currentLiteral, formattingInfo,
converterRegistry, rules, patternConverters, formattingInfos);
state = LITERAL_STATE;
formattingInfo = FormattingInfo.getDefault();
@@ -372,11 +370,9 @@
c - '0');
state = MAX_STATE;
} else {
- if (logger != null) {
- logger.error(
+ LogLog.error(
"Error occured in position " + i
+ ".\n Was expecting digit, instead got char \"" + c + "\".");
- }
state = LITERAL_STATE;
}
@@ -393,7 +389,7 @@
(formattingInfo.getMaxLength() * 10) + (c - '0'));
} else {
i = finalizeConverter(
- c, pattern, i, logger, currentLiteral, formattingInfo,
+ c, pattern, i, currentLiteral, formattingInfo,
converterRegistry, rules, patternConverters, formattingInfos);
state = LITERAL_STATE;
formattingInfo = FormattingInfo.getDefault();
@@ -421,14 +417,12 @@
* if converterId contains extra characters.
* @param converterRegistry map of user-supported pattern converters keyed by format specifier, may be null.
* @param rules map of stock pattern converters keyed by format specifier.
- * @param logger logger to receive parser warnings, may be null.
* @param options converter options.
* @return converter or null.
*/
private static PatternConverter createConverter(
final String converterId, final StringBuffer currentLiteral,
- final Map converterRegistry, final Map rules, final List options,
- final ULogger logger) {
+ final Map converterRegistry, final Map rules, final List options) {
String converterName = converterId;
Object converterObj = null;
@@ -446,9 +440,7 @@
}
if (converterObj == null) {
- if (logger != null) {
- logger.error("Unrecognized format specifier [{}]", converterId);
- }
+ LogLog.error("Unrecognized format specifier [" + converterId + "]");
return null;
}
@@ -462,19 +454,15 @@
try {
converterClass = Loader.loadClass((String) converterObj);
} catch (ClassNotFoundException ex) {
- if (logger != null) {
- logger.warn(
+ LogLog.warn(
"Class for conversion pattern %" + converterName + " not found",
ex);
- }
return null;
}
} else {
- if (logger != null) {
- logger.warn(
- "Bad map entry for conversion pattern %{}.", converterName);
- }
+ LogLog.warn(
+ "Bad map entry for conversion pattern %" + converterName + ".");
return null;
}
@@ -485,14 +473,13 @@
converterClass.getMethod(
"newInstance",
new Class[] {
- Class.forName("[Ljava.lang.String;"),
- org.apache.log4j.ULogger.class
+ Class.forName("[Ljava.lang.String;")
});
String[] optionsArray = new String[options.size()];
optionsArray = (String[]) options.toArray(optionsArray);
Object newObj =
- factory.invoke(null, new Object[] { optionsArray, logger });
+ factory.invoke(null, new Object[] { optionsArray });
if (newObj instanceof PatternConverter) {
currentLiteral.delete(
@@ -502,16 +489,12 @@
return (PatternConverter) newObj;
} else {
- if (logger != null) {
- logger.warn(
+ LogLog.warn(
"Class " + converterClass.getName()
+ " does not extend PatternConverter.");
- }
}
} catch (Exception ex) {
- if (logger != null) {
- logger.error("Error creating converter for " + converterId, ex);
- }
+ LogLog.error("Error creating converter for " + converterId, ex);
try {
//
@@ -524,9 +507,7 @@
return pc;
} catch (Exception ex2) {
- if (logger != null) {
- logger.error("Error creating converter for " + converterId, ex2);
- }
+ LogLog.error("Error creating converter for " + converterId, ex2);
}
}
@@ -539,7 +520,6 @@
* @param c initial character of format specifier.
* @param pattern conversion pattern
* @param i current position in conversion pattern.
- * @param logger logger to receive warnings, may be null.
* @param currentLiteral current literal.
* @param formattingInfo current field specifier.
* @param converterRegistry map of user-provided pattern converters keyed by format specifier, may be null.
@@ -549,7 +529,7 @@
* @return position after format specifier sequence.
*/
private static int finalizeConverter(
- char c, String pattern, int i, final ULogger logger,
+ char c, String pattern, int i,
final StringBuffer currentLiteral, final FormattingInfo formattingInfo,
final Map converterRegistry, final Map rules, final List patternConverters,
final List formattingInfos) {
@@ -563,7 +543,7 @@
PatternConverter pc =
createConverter(
- converterId, currentLiteral, converterRegistry, rules, options, logger);
+ converterId, currentLiteral, converterRegistry, rules, options);
if (pc == null) {
StringBuffer msg;
@@ -580,9 +560,7 @@
msg.append(Integer.toString(i));
msg.append(" in conversion pattern.");
- if (logger != null) {
- logger.error(msg.toString());
- }
+ LogLog.error(msg.toString());
patternConverters.add(
new LiteralPatternConverter(currentLiteral.toString()));
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/PropertiesPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,8 +16,10 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
+import java.io.*;
import org.apache.log4j.spi.LoggingEvent;
+import java.lang.reflect.*;
import java.util.*;
@@ -43,10 +45,9 @@
/**
* Private constructor.
* @param options options, may be null.
- * @param logger logger for diagnostic messages, may be null.
*/
private PropertiesPatternConverter(
- final String[] options, final ULogger logger) {
+ final String[] options) {
super(
((options != null) && (options.length > 0))
? ("Property{" + options[0] + "}") : "Properties", "property");
@@ -61,12 +62,11 @@
/**
* Obtains an instance of PropertiesPatternConverter.
* @param options options, may be null or first element contains name of property to format.
- * @param logger logger, current ignored, may be null.
* @return instance of PropertiesPatternConverter.
*/
public static PropertiesPatternConverter newInstance(
- final String[] options, final ULogger logger) {
- return new PropertiesPatternConverter(options, logger);
+ final String[] options) {
+ return new PropertiesPatternConverter(options);
}
/**
@@ -78,19 +78,62 @@
if (option == null) {
toAppendTo.append("{");
- Set keySet = event.getPropertyKeySet();
+ //
+ // MDC keys are not visible prior to log4j 1.2.15
+ //
+ Set keySet = null;
+ try {
+ Method getKeySetMethod = LoggingEvent.class.getMethod(
+ "getPropertyKeySet", null);
+ keySet = (Set) getKeySetMethod.invoke(event, null);
+ } catch(Exception ex) {
+ //
+ // for 1.2.14 and earlier could serialize and
+ // extract MDC content
+ try {
+ ByteArrayOutputStream outBytes = new ByteArrayOutputStream();
+ ObjectOutputStream os = new ObjectOutputStream(outBytes);
+ os.writeObject(event);
+ os.close();
+
+ byte[] raw = outBytes.toByteArray();
+ //
+ // bytes 6 and 7 should be the length of the original classname
+ // should be the same as our substitute class name
+ final String subClassName = LogEvent.class.getName();
+ if (raw[6] == 0 || raw[7] == subClassName.length()) {
+ //
+ // manipulate stream to use our class name
+ //
+ for (int i = 0; i < subClassName.length(); i++) {
+ raw[8 + i] = (byte) subClassName.charAt(i);
+ }
+ ByteArrayInputStream inBytes = new ByteArrayInputStream(raw);
+ ObjectInputStream is = new ObjectInputStream(inBytes);
+ Object cracked = is.readObject();
+ if (cracked instanceof LogEvent) {
+ keySet = ((LogEvent) cracked).getPropertyKeySet();
+ }
+ is.close();
+ }
+ } catch(Exception ex2) {
- for (Iterator i = keySet.iterator(); i.hasNext();) {
- Object item = i.next();
- Object val = event.getProperty(item.toString());
- toAppendTo.append("{").append(item).append(",").append(val).append(
- "}");
+ }
+ }
+
+ if (keySet != null) {
+ for (Iterator i = keySet.iterator(); i.hasNext();) {
+ Object item = i.next();
+ Object val = event.getMDC(item.toString());
+ toAppendTo.append("{").append(item).append(",").append(val).append(
+ "}");
+ }
}
toAppendTo.append("}");
} else {
// otherwise they just want a single key output
- Object val = event.getProperty(option);
+ Object val = event.getMDC(option);
if (val != null) {
toAppendTo.append(val);
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/RelativeTimePatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -43,11 +43,10 @@
/**
* Obtains an instance of RelativeTimePatternConverter.
* @param options options, currently ignored, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of RelativeTimePatternConverter.
*/
public static RelativeTimePatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return new RelativeTimePatternConverter();
}
@@ -55,7 +54,7 @@
* {@inheritDoc}
*/
public void format(final LoggingEvent event, final StringBuffer toAppendTo) {
- long timestamp = event.getTimeStamp();
+ long timestamp = event.timeStamp;
if (!lastTimestamp.format(timestamp, toAppendTo)) {
final String formatted =
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/SequenceNumberPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -44,11 +44,10 @@
/**
* Obtains an instance of SequencePatternConverter.
* @param options options, currently ignored, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of SequencePatternConverter.
*/
public static SequenceNumberPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
@@ -56,6 +55,6 @@
* {@inheritDoc}
*/
public void format(final LoggingEvent event, final StringBuffer toAppendTo) {
- toAppendTo.append(Long.toString(event.getSequenceNumber()));
+ toAppendTo.append("0");
}
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThreadPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
@@ -43,11 +43,10 @@
/**
* Obtains an instance of ThreadPatternConverter.
* @param options options, currently ignored, may be null.
- * @param logger logger, current ignored, may be null.
* @return instance of ThreadPatternConverter.
*/
public static ThreadPatternConverter newInstance(
- final String[] options, final ULogger logger) {
+ final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/main/java/org/apache/log4j/pattern/ThrowableInformationPatternConverter.java Wed Apr 25 08:08:13 2007
@@ -16,7 +16,7 @@
package org.apache.log4j.pattern;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.ThrowableInformation;
@@ -39,10 +39,9 @@
/**
* Private constructor.
* @param options options, may be null.
- * @param logger logger for diagnostic messages, may be null.
*/
private ThrowableInformationPatternConverter(
- final String[] options, final ULogger logger) {
+ final String[] options) {
super("Throwable", "throwable");
if ((options != null) && (options.length > 0)) {
@@ -56,12 +55,11 @@
* Gets an instance of the class.
* @param options pattern options, may be null. If first element is "short",
* only the first line of the throwable will be formatted.
- * @param logger logger, unused and may be null.
* @return instance of class.
*/
public static ThrowableInformationPatternConverter newInstance(
- final String[] options, final ULogger logger) {
- return new ThrowableInformationPatternConverter(options, logger);
+ final String[] options) {
+ return new ThrowableInformationPatternConverter(options);
}
/**
Modified: logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/PatternLayoutTestCase.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/PatternLayoutTestCase.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/PatternLayoutTestCase.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/PatternLayoutTestCase.java Wed Apr 25 08:08:13 2007
@@ -29,6 +29,7 @@
import org.apache.log4j.util.RelativeTimeFilter;
import org.apache.log4j.util.SunReflectFilter;
import org.apache.log4j.util.Transformer;
+import org.apache.log4j.util.MDCOrderFilter;
import java.io.FileReader;
import java.text.ParsePosition;
@@ -351,13 +352,15 @@
MDC.put("key1", "va11");
MDC.put("key2", "va12");
logger.debug("Hello World");
- MDC.clear();
+ MDC.remove("key1");
+ MDC.remove("key2");
Transformer.transform(
TEMP, FILTERED,
new Filter[] {
new LineNumberFilter(), new SunReflectFilter(),
- new JunitTestRunnerFilter()
+ new JunitTestRunnerFilter(),
+ new MDCOrderFilter()
});
assertTrue(compare(FILTERED, "witness/pattern/patternLayout.mdc.1"));
}
@@ -507,6 +510,15 @@
layout.activateOptions();
root.debug("finished mdc pattern test");
- assertTrue(compare(OUTPUT_FILE, WITNESS_FILE));
+ Transformer.transform(
+ OUTPUT_FILE, FILTERED,
+ new Filter[] {
+ new LineNumberFilter(), new SunReflectFilter(),
+ new JunitTestRunnerFilter(),
+ new MDCOrderFilter()
+ });
+
+ assertTrue(compare(FILTERED, WITNESS_FILE));
}
+
}
Modified: logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/Num343PatternConverter.java Wed Apr 25 08:08:13 2007
@@ -17,7 +17,6 @@
package org.apache.log4j.pattern;
import org.apache.log4j.spi.LoggingEvent;
-import org.apache.log4j.ULogger;
public class Num343PatternConverter extends LoggingEventPatternConverter {
@@ -27,8 +26,7 @@
}
private static final Num343PatternConverter INSTANCE = new Num343PatternConverter();
- public static PatternConverter newInstance(final String[] options,
- final ULogger logger) {
+ public static PatternConverter newInstance(final String[] options) {
return INSTANCE;
}
Modified: logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/PatternParserTest.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/PatternParserTest.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/PatternParserTest.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/pattern/PatternParserTest.java Wed Apr 25 08:08:13 2007
@@ -32,7 +32,7 @@
import org.apache.log4j.Level;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
-import org.apache.log4j.ULogger;
+import org.apache.log4j.helpers.LogLog;
import org.apache.log4j.spi.LoggerRepository;
import org.apache.log4j.spi.LoggingEvent;
@@ -54,11 +54,8 @@
repository = LogManager.getLoggerRepository();
now = System.currentTimeMillis() + 13;
- event = new LoggingEvent();
- event.setLogger(logger);
- event.setTimeStamp(now);
- event.setLevel(Level.INFO);
- event.setMessage("msg 1");
+ event = new LoggingEvent("org.apache.log4j.Logger",
+ logger, Level.INFO, "msg 1", null);
}
private static String convert(
@@ -69,8 +66,7 @@
List fields = new ArrayList();
PatternParser.parse(pattern, converters, fields,
registry,
- PatternParser.getPatternLayoutRules(),
- null);
+ PatternParser.getPatternLayoutRules());
assertEquals(converters.size(), fields.size());
StringBuffer buf = new StringBuffer();
@@ -127,9 +123,9 @@
String result = convert("%d{HH:mm:ss}{GMT} %d{HH:mm:ss} %c - %m", null, event);
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
- String localTime = dateFormat.format(new Date(event.getTimeStamp()));
+ String localTime = dateFormat.format(new Date(event.timeStamp));
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
- String utcTime = dateFormat.format(new Date(event.getTimeStamp()));
+ String utcTime = dateFormat.format(new Date(event.timeStamp));
StringBuffer buf = new StringBuffer(utcTime);
buf.append(' ');
buf.append(localTime);
@@ -161,8 +157,8 @@
private void assertFactories(Map rules) throws Exception {
assertTrue(rules.size() > 0);
Iterator iter = rules.values().iterator();
- Class[] factorySig = new Class[] { Class.forName("[Ljava.lang.String;"), ULogger.class };
- Object[] factoryArg = new Object[] { null, null };
+ Class[] factorySig = new Class[] { Class.forName("[Ljava.lang.String;") };
+ Object[] factoryArg = new Object[] { null };
while(iter.hasNext()) {
Class ruleClass = (Class) iter.next();
Method factory = ruleClass.getMethod("newInstance", factorySig);
Modified: logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java?view=diff&rev=532381&r1=532380&r2=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java (original)
+++ logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/JunitTestRunnerFilter.java Wed Apr 25 08:08:13 2007
@@ -25,7 +25,7 @@
private static final String[] patterns = {
"/at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner/",
- "/at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner/",
+ "/at org.apache.tools.ant/",
"/at junit.textui.TestRunner/",
"/at com.intellij.rt.execution.junit/",
"/at java.lang.reflect.Method.invoke/",
Added: logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/MDCOrderFilter.java
URL: http://svn.apache.org/viewvc/logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/MDCOrderFilter.java?view=auto&rev=532381
==============================================================================
--- logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/MDCOrderFilter.java (added)
+++ logging/sandbox/log4j/pattern-layout/src/test/java/org/apache/log4j/util/MDCOrderFilter.java Wed Apr 25 08:08:13 2007
@@ -0,0 +1,63 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.log4j.util;
+
+/**
+ * This class switches MDC values into the order
+ * (unreasonably) expected by the witness files.
+ */
+public class MDCOrderFilter implements Filter {
+
+ /**
+ * Unexpected orders of keys.
+ * Note expected values are "va-one-one" and "va-one-two".
+ */
+ private static final String[] patterns =
+ new String[] {
+ "{key2,va12}{key1,va11}",
+ "{key2,value2}{key1,value1}"
+ };
+
+ /**
+ * Replacement values.
+ */
+ private static final String[] replacements =
+ new String[] {
+ "{key1,va11}{key2,va12}",
+ "{key1,value1}{key2,value2}"
+ };
+
+ /**
+ * Switch order of MDC keys when not in expected order.
+ */
+ public String filter(final String in) {
+ if (in == null) {
+ return null;
+ }
+
+ for(int i = 0; i < patterns.length; i++) {
+ int ipos = in.indexOf(patterns[i]);
+ if (ipos >= 1) {
+ return in.substring(0, ipos)
+ + replacements[i]
+ + in.substring(ipos + patterns[i].length());
+ }
+ }
+ return in;
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org