Refactor util.log.LogUtils into core.log.LogDelegateFactory

Issue: SPR-17012
This commit is contained in:
Juergen Hoeller
2018-07-24 14:44:34 +02:00
parent 20c34cbb9b
commit fac2e35f96
9 changed files with 52 additions and 36 deletions

View File

@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.util.log;
package org.springframework.core.log;
import java.util.List;
import java.util.function.Predicate;
@@ -22,16 +23,16 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.NoOpLog;
/**
* Implementation of {@link Log} that wraps a list of loggers and delegates to
* the first one for which logging is enabled at the given level.
* Implementation of {@link Log} that wraps a list of loggers and delegates
* to the first one for which logging is enabled at the given level.
*
* @author Rossen Stoyanchev
* @since 5.1
* @see LogUtils#getCompositeLog
* @see LogDelegateFactory#getCompositeLog
*/
class CompositeLog implements Log {
final class CompositeLog implements Log {
private static final Log noOpLog = new NoOpLog();
private static final Log NO_OP_LOG = new NoOpLog();
private final Log fatalLogger;
@@ -62,38 +63,38 @@ class CompositeLog implements Log {
}
private static Log initLogger(List<Log> loggers, Predicate<Log> predicate) {
return loggers.stream().filter(predicate).findFirst().orElse(noOpLog);
return loggers.stream().filter(predicate).findFirst().orElse(NO_OP_LOG);
}
@Override
public boolean isFatalEnabled() {
return this.fatalLogger != noOpLog;
return this.fatalLogger != NO_OP_LOG;
}
@Override
public boolean isErrorEnabled() {
return this.errorLogger != noOpLog;
return this.errorLogger != NO_OP_LOG;
}
@Override
public boolean isWarnEnabled() {
return this.warnLogger != noOpLog;
return this.warnLogger != NO_OP_LOG;
}
@Override
public boolean isInfoEnabled() {
return this.infoLogger != noOpLog;
return this.infoLogger != NO_OP_LOG;
}
@Override
public boolean isDebugEnabled() {
return this.debugLogger != noOpLog;
return this.debugLogger != NO_OP_LOG;
}
@Override
public boolean isTraceEnabled() {
return this.traceLogger != noOpLog;
return this.traceLogger != NO_OP_LOG;
}
@Override
@@ -155,4 +156,5 @@ class CompositeLog implements Log {
public void trace(Object message, Throwable ex) {
this.traceLogger.trace(message, ex);
}
}

View File

@@ -13,7 +13,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.util.log;
package org.springframework.core.log;
import java.util.ArrayList;
import java.util.Collections;
@@ -23,13 +24,22 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* Utilities to assist with logging. Mainly for internal use within the framework
* with Appache Commons Logging.
* Factory for common {@link Log} delegates with Spring's logging conventions.
*
* <p>Mainly for internal use within the framework with Apache Commons Logging,
* typically in the form of the {@code spring-jcl} bridge but also compatible
* with other Commons Logging bridges.
*
* @author Rossen Stoyanchev
* @author Juergen Hoeller
* @since 5.1
* @see org.apache.commons.logging.LogFactory
*/
public abstract class LogUtils {
public final class LogDelegateFactory {
private LogDelegateFactory() {
}
/**
* Create a composite logger that delegates to a primary or falls back on a

View File

@@ -1,9 +1,9 @@
/**
* Useful helper classes for logging.
* Useful delegates for Spring's logging conventions.
*/
@NonNullApi
@NonNullFields
package org.springframework.util.log;
package org.springframework.core.log;
import org.springframework.lang.NonNullApi;
import org.springframework.lang.NonNullFields;