Merge branch 'master' into release
This commit is contained in:
@@ -46,6 +46,7 @@ The <action> type attribute can be add,update,fix,remove.
|
||||
<release version="1.3.2" date="2024-05-11" description="This is a feature and maintenance release. Java 8 or later is required.">
|
||||
<action dev="ggregory" issue="LOGGING-190" type="fix" due-to="Hannes Wellmann, Gary Gregory, Johan Compagner">Add OSGi metadata to enable Service Loader Mediator #234.</action>
|
||||
<action dev="ggregory" issue="LOGGING-191" type="fix" due-to="Hannes Wellmann, Gary Gregory, Johan Compagner">Apache commons logging shows 1.4 as latest release instead of 1.3.1.</action>
|
||||
<action dev="ggregory" type="fix" due-to="Gary Gregory">Deprecate org.apache.commons.logging.LogSource.jdk14IsAvailable.</action>
|
||||
<!-- UPDATE -->
|
||||
<action dev="ggregory" type="update" due-to="Dependabot">Bump org.apache.commons:commons-parent from 67 to 69 #240.</action>
|
||||
<action dev="ggregory" type="update" due-to="Dependabot">Bump org.slf4j:slf4j-api from 2.0.12 to 2.0.13 #248.</action>
|
||||
|
||||
@@ -1428,8 +1428,7 @@ public abstract class LogFactory {
|
||||
// Note that any unchecked exceptions thrown by the createFactory
|
||||
// method will propagate out of this method; in particular a
|
||||
// ClassCastException can be thrown.
|
||||
final Object result = AccessController.doPrivileged(
|
||||
(PrivilegedAction) () -> createFactory(factoryClass, classLoader));
|
||||
final Object result = AccessController.doPrivileged((PrivilegedAction<?>) () -> createFactory(factoryClass, classLoader));
|
||||
|
||||
if (result instanceof LogConfigurationException) {
|
||||
final LogConfigurationException ex = (LogConfigurationException) result;
|
||||
@@ -1439,8 +1438,7 @@ public abstract class LogFactory {
|
||||
throw ex;
|
||||
}
|
||||
if (isDiagnosticsEnabled()) {
|
||||
logDiagnostic("Created object " + objectId(result) + " to manage class loader " +
|
||||
objectId(contextClassLoader));
|
||||
logDiagnostic("Created object " + objectId(result) + " to manage class loader " + objectId(contextClassLoader));
|
||||
}
|
||||
return (LogFactory) result;
|
||||
}
|
||||
|
||||
@@ -61,8 +61,13 @@ public class LogSource {
|
||||
/** Is Log4j available (in the current classpath) */
|
||||
static protected boolean log4jIsAvailable;
|
||||
|
||||
/** Is JDK 1.4 logging available */
|
||||
static protected boolean jdk14IsAvailable;
|
||||
/**
|
||||
* Is JDK 1.4 logging available, always true.
|
||||
*
|
||||
* @deprecated Java 8 is the baseline and includes JUL.
|
||||
*/
|
||||
@Deprecated
|
||||
static protected boolean jdk14IsAvailable = true;
|
||||
|
||||
/** Constructor for current log class */
|
||||
static protected Constructor<?> logImplctor;
|
||||
@@ -77,9 +82,6 @@ public class LogSource {
|
||||
// Is Log4J Available?
|
||||
log4jIsAvailable = isClassForName("org.apache.log4j.Logger");
|
||||
|
||||
// Is JDK 1.4 Logging Available?
|
||||
jdk14IsAvailable = isClassForName("org.apache.commons.logging.impl.Jdk14Logger");
|
||||
|
||||
// Set the default Log implementation
|
||||
String name = null;
|
||||
try {
|
||||
@@ -104,10 +106,8 @@ public class LogSource {
|
||||
try {
|
||||
if (log4jIsAvailable) {
|
||||
setLogImplementation("org.apache.commons.logging.impl.Log4JLogger");
|
||||
} else if (jdk14IsAvailable) {
|
||||
setLogImplementation("org.apache.commons.logging.impl.Jdk14Logger");
|
||||
} else {
|
||||
setLogImplementation("org.apache.commons.logging.impl.NoOpLog");
|
||||
setLogImplementation("org.apache.commons.logging.impl.Jdk14Logger");
|
||||
}
|
||||
} catch (final Throwable t) {
|
||||
try {
|
||||
|
||||
@@ -183,6 +183,13 @@ public final class Log4jApiLogFactory extends LogFactory {
|
||||
|
||||
private final ConcurrentMap<String, Object> attributes = new ConcurrentHashMap<>();
|
||||
|
||||
/**
|
||||
* Constructs a new instance.
|
||||
*/
|
||||
public Log4jApiLogFactory() {
|
||||
// empty
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getAttribute(final String name) {
|
||||
return attributes.get(name);
|
||||
|
||||
@@ -50,6 +50,13 @@ public class ServletContextCleaner implements ServletContextListener {
|
||||
|
||||
private static final Class<?>[] RELEASE_SIGNATURE = { ClassLoader.class };
|
||||
|
||||
/**
|
||||
* Constructs a new instance.
|
||||
*/
|
||||
public ServletContextCleaner() {
|
||||
// empty
|
||||
}
|
||||
|
||||
/**
|
||||
* Invoked when a webapp is undeployed, this tells the LogFactory
|
||||
* class to release any logging information related to the current
|
||||
|
||||
@@ -266,6 +266,13 @@ public final class Slf4jLogFactory extends LogFactory {
|
||||
|
||||
private final ConcurrentMap<String, Object> attributes = new ConcurrentHashMap<>();
|
||||
|
||||
/**
|
||||
* Constructs a new instance.
|
||||
*/
|
||||
public Slf4jLogFactory() {
|
||||
// empty
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getAttribute(final String name) {
|
||||
return attributes.get(name);
|
||||
@@ -303,6 +310,7 @@ public final class Slf4jLogFactory extends LogFactory {
|
||||
try {
|
||||
factory.getClass().getMethod("stop").invoke(factory);
|
||||
} catch (final ReflectiveOperationException ignored) {
|
||||
// empty
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
28
src/test/java/org/apache/commons/logging/LogSourceTest.java
Normal file
28
src/test/java/org/apache/commons/logging/LogSourceTest.java
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* 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.commons.logging;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
public class LogSourceTest {
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void testJdk14IsAvailable() throws Exception {
|
||||
assertTrue(LogSource.jdk14IsAvailable);
|
||||
}
|
||||
}
|
||||
@@ -16,14 +16,14 @@
|
||||
*/
|
||||
package org.apache.commons.logging.avalon;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.apache.avalon.framework.logger.NullLogger;
|
||||
import org.apache.commons.logging.AbstractLogTest;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.impl.AvalonLogger;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
/**
|
||||
*/
|
||||
public class AvalonLoggerTestCase extends AbstractLogTest {
|
||||
|
||||
@@ -19,13 +19,13 @@ package org.apache.commons.logging.config;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests that verify that the process of configuring logging on startup
|
||||
* works correctly by selecting the file with the highest priority.
|
||||
|
||||
@@ -19,13 +19,13 @@ package org.apache.commons.logging.config;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests that verify that the process of configuring logging on startup
|
||||
* works correctly by selecting the file with the highest priority.
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
|
||||
package org.apache.commons.logging.jdk14;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
/**
|
||||
* TestCase for Jdk14 logging when the commons-logging-api jar file is in
|
||||
* the parent classpath and commons-logging.jar is in the child.
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
|
||||
package org.apache.commons.logging.jdk14;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
/**
|
||||
* TestCase for Jdk14 logging when the commons-logging jar file is in
|
||||
* the parent classpath.
|
||||
|
||||
@@ -27,12 +27,12 @@ import java.util.logging.LogManager;
|
||||
import java.util.logging.LogRecord;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
import org.apache.commons.logging.DummyException;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
/**
|
||||
* <p>TestCase for JDK 1.4 logging when running on a JDK 1.4 system with
|
||||
* custom configuration, so that JDK 1.4 should be selected and an appropriate
|
||||
|
||||
@@ -22,14 +22,14 @@ import java.io.ByteArrayOutputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* <p>TestCase for JDK 1.4 logging when running on a JDK 1.4 system with
|
||||
* zero configuration, and with Log4J not present (so JDK 1.4 logging
|
||||
|
||||
@@ -24,12 +24,12 @@ import java.io.ObjectOutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.DummyException;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Abstract set of tests that can be executed with various classpaths set.
|
||||
* <p>
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
package org.apache.commons.logging.log4j.log4j12;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.Log4JLogger;
|
||||
import org.apache.commons.logging.impl.LogFactoryImpl;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for Log4J logging that emulate a webapp running within
|
||||
* a container where the commons-logging-api jar file is in
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
package org.apache.commons.logging.log4j.log4j12;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.Log4JLogger;
|
||||
import org.apache.commons.logging.impl.LogFactoryImpl;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for Log4J logging when there is only one class loader and everything
|
||||
* is in it, as would be the situation for a standalone application.
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
package org.apache.commons.logging.log4j.log4j12;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.Log4JLogger;
|
||||
import org.apache.commons.logging.impl.LogFactoryImpl;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for Log4J logging that emulate a webapp running within
|
||||
* a container where all the necessary libs are in the child.
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
|
||||
package org.apache.commons.logging.log4j.log4j12;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.Log4JLogger;
|
||||
import org.apache.commons.logging.impl.LogFactoryImpl;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for Log4J logging that emulate a webapp running within
|
||||
* a container where all the necessary libs are in the parent.
|
||||
|
||||
@@ -18,6 +18,8 @@ package org.apache.commons.logging.log4j2;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.impl.Log4jApiLogFactory;
|
||||
@@ -31,8 +33,6 @@ import org.apache.logging.log4j.core.test.appender.ListAppender;
|
||||
import org.apache.logging.log4j.message.ObjectMessage;
|
||||
import org.apache.logging.log4j.message.SimpleMessage;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class CallerInformationTestCase extends TestCase {
|
||||
|
||||
private static final Object OBJ = new Object();
|
||||
@@ -90,9 +90,7 @@ public class CallerInformationTestCase extends TestCase {
|
||||
assertEquals("Correct source file.", "CallerInformationTestCase.java", location.getFileName());
|
||||
assertEquals("Correct method name.", "testLocationInfo", location.getMethodName());
|
||||
assertEquals("Correct location class.", getClass().getName(), location.getClassName());
|
||||
assertEquals("Correct location line.",
|
||||
currentLineNumber + 2 * lev + hasThrowable + 1,
|
||||
location.getLineNumber());
|
||||
assertEquals("Correct location line.", currentLineNumber + 2 * lev + hasThrowable + 1, location.getLineNumber());
|
||||
assertEquals("Correct exception", hasThrowable > 0 ? T : null, event.getThrown());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ import java.io.ByteArrayOutputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
import org.apache.commons.logging.AbstractLogTest;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
@@ -29,8 +31,6 @@ import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.LogKitLogger;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
/**
|
||||
* Basic tests for Avalon LogKit logger adapter.
|
||||
*/
|
||||
|
||||
@@ -23,13 +23,13 @@ import java.util.Enumeration;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Artifacts;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for the PathableTestSuite and PathableClassLoader functionality,
|
||||
* where lookup order for the PathableClassLoader is child-first.
|
||||
|
||||
@@ -19,12 +19,12 @@ package org.apache.commons.logging.pathable;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
/**
|
||||
* Tests for the PathableTestSuite class.
|
||||
*/
|
||||
|
||||
@@ -25,13 +25,13 @@ import java.util.Enumeration;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Artifacts;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for the PathableTestSuite and PathableClassLoader functionality,
|
||||
* where lookup order for the PathableClassLoader is parent-first.
|
||||
|
||||
@@ -24,14 +24,14 @@ import java.lang.reflect.Method;
|
||||
import java.security.AllPermission;
|
||||
import java.util.Hashtable;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for logging with a security policy that allows JCL access to everything.
|
||||
* <p>
|
||||
|
||||
@@ -25,14 +25,14 @@ import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Hashtable;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for logging with a security policy that forbids JCL access to anything.
|
||||
* <p>
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
*/
|
||||
package org.apache.commons.logging.serviceloader;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.serviceloader.internal.DummyLogFactory;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class ServiceLoaderTestCase extends TestCase {
|
||||
|
||||
public void testServiceLoader() {
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
|
||||
package org.apache.commons.logging.servlet;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.ServletContextCleaner;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Tests for ServletContextCleaner utility class.
|
||||
*/
|
||||
|
||||
@@ -21,14 +21,14 @@ import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
import org.apache.commons.logging.DummyException;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.SimpleLog;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
/**
|
||||
* <p>TestCase for simple logging when running with custom configuration
|
||||
* properties.</p>
|
||||
|
||||
@@ -21,11 +21,11 @@ import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
|
||||
/**
|
||||
* Tests custom date time format configuration
|
||||
*/
|
||||
|
||||
@@ -22,15 +22,15 @@ import java.io.ByteArrayOutputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
import org.apache.commons.logging.impl.SimpleLog;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* <p>TestCase for simple logging when running with zero configuration
|
||||
* other than selecting the SimpleLog implementation.</p>
|
||||
|
||||
@@ -20,6 +20,8 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.impl.Slf4jLogFactory;
|
||||
@@ -35,7 +37,6 @@ import ch.qos.logback.classic.spi.ThrowableProxy;
|
||||
import ch.qos.logback.core.filter.Filter;
|
||||
import ch.qos.logback.core.read.ListAppender;
|
||||
import ch.qos.logback.core.spi.FilterReply;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class CallerInformationTestCase extends TestCase {
|
||||
|
||||
@@ -75,7 +76,7 @@ public class CallerInformationTestCase extends TestCase {
|
||||
public void testLocationInfo() {
|
||||
appender.list.clear();
|
||||
// The following value must match the line number
|
||||
final int currentLineNumber = 78;
|
||||
final int currentLineNumber = 79;
|
||||
log.fatal(STRING);
|
||||
log.fatal(STRING, T);
|
||||
log.error(STRING);
|
||||
@@ -100,13 +101,9 @@ public class CallerInformationTestCase extends TestCase {
|
||||
assertTrue("Has location", callerData != null && callerData.length > 0);
|
||||
final StackTraceElement location = callerData[0];
|
||||
assertEquals("Correct location class.", getClass().getName(), location.getClassName());
|
||||
assertEquals("Correct location line.",
|
||||
currentLineNumber + 2 * lev + hasThrowable + 1,
|
||||
location.getLineNumber());
|
||||
assertEquals("Correct location line.", currentLineNumber + 2 * lev + hasThrowable + 1, location.getLineNumber());
|
||||
final ThrowableProxy throwableProxy = (ThrowableProxy) event.getThrowableProxy();
|
||||
assertEquals("Correct exception",
|
||||
hasThrowable > 0 ? T : null,
|
||||
throwableProxy != null ? throwableProxy.getThrowable() : null);
|
||||
assertEquals("Correct exception", hasThrowable > 0 ? T : null, throwableProxy != null ? throwableProxy.getThrowable() : null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
*/
|
||||
package org.apache.commons.logging.tccl;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Simulates the case when TCCL is badly set and cannot load JCL.
|
||||
*/
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
*/
|
||||
package org.apache.commons.logging.tccl;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Simulates the case when TCCL is set to NULL.
|
||||
*/
|
||||
|
||||
@@ -19,15 +19,15 @@ package org.apache.commons.logging.tccl.log;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogConfigurationException;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Verify that by default LogFactoryImpl is loaded from the tccl class loader.
|
||||
*/
|
||||
|
||||
@@ -19,14 +19,14 @@ package org.apache.commons.logging.tccl.log;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Verify that by default the standard LogFactoryImpl class loads a
|
||||
* custom Log implementation via the TCCL.
|
||||
|
||||
@@ -19,13 +19,13 @@ package org.apache.commons.logging.tccl.logfactory;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Verify that a commons-logging.properties file can prevent a custom
|
||||
* LogFactoryImpl being loaded from the tccl class loader.
|
||||
|
||||
@@ -19,13 +19,13 @@ package org.apache.commons.logging.tccl.logfactory;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.commons.logging.PathableClassLoader;
|
||||
import org.apache.commons.logging.PathableTestSuite;
|
||||
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* Verify that by default a custom LogFactoryImpl is loaded from the
|
||||
* tccl class loader.
|
||||
|
||||
Reference in New Issue
Block a user