package org.apache.fulcrum.testcontainer.avalon.logger; | |
import java.util.Objects; | |
import org.apache.avalon.framework.logger.Logger; | |
import org.apache.logging.log4j.Level; | |
/* | |
* 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. | |
*/ | |
import org.apache.logging.log4j.LogManager; | |
/** | |
* A Log4J2 wrapper class for Logger. | |
* | |
* - supports only minimal logging mechanism, without suppliers or objects. | |
* | |
* @author <a href="mailto:dev@turbine.apache.org">Turbine Development Team</a> | |
* @version $Id$ | |
*/ | |
public final class Log4J2Logger | |
implements Logger | |
{ | |
//underlying implementation | |
private final org.apache.logging.log4j.Logger m_logger; | |
/** | |
* Create a logger that delegates to specified category. | |
* | |
* @param logImpl the category to delegate to | |
*/ | |
public Log4J2Logger( final org.apache.logging.log4j.Logger logImpl ) | |
{ | |
Objects.requireNonNull( logImpl, "Log4J2 logger must not be null" ); | |
m_logger = logImpl; | |
} | |
/** | |
* Log a debug message. | |
* | |
* @param message the message | |
*/ | |
public final void debug( final String message ) | |
{ | |
m_logger.log( Level.DEBUG, message ); | |
} | |
/** | |
* Log a debug message. | |
* | |
* @param message the message | |
* @param throwable the throwable | |
*/ | |
public final void debug( final String message, final Throwable throwable ) | |
{ | |
m_logger.log( Level.DEBUG, message, throwable ); | |
} | |
/** | |
* Determine if messages of priority "debug" will be logged. | |
* | |
* @return true if "debug" messages will be logged | |
*/ | |
public final boolean isDebugEnabled() | |
{ | |
return m_logger.isDebugEnabled(); | |
} | |
/** | |
* Log a info message. | |
* | |
* @param message the message | |
*/ | |
public final void info( final String message ) | |
{ | |
m_logger.log( Level.INFO, message ); | |
} | |
/** | |
* Log a info message. | |
* | |
* @param message the message | |
* @param throwable the throwable | |
*/ | |
public final void info( final String message, final Throwable throwable ) | |
{ | |
m_logger.log( Level.INFO, message, throwable ); | |
} | |
/** | |
* Determine if messages of priority "info" will be logged. | |
* | |
* @return true if "info" messages will be logged | |
*/ | |
public final boolean isInfoEnabled() | |
{ | |
return m_logger.isInfoEnabled(); | |
} | |
/** | |
* Log a warn message. | |
* | |
* @param message the message | |
*/ | |
public final void warn( final String message ) | |
{ | |
m_logger.log( Level.WARN, message ); | |
} | |
/** | |
* Log a warn message. | |
* | |
* @param message the message | |
* @param throwable the throwable | |
*/ | |
public final void warn( final String message, final Throwable throwable ) | |
{ | |
m_logger.log( Level.WARN, message, throwable ); | |
} | |
/** | |
* Determine if messages of priority "warn" will be logged. | |
* | |
* @return true if "warn" messages will be logged | |
*/ | |
public final boolean isWarnEnabled() | |
{ | |
return m_logger.isEnabled( Level.WARN ); | |
} | |
/** | |
* Log a error message. | |
* | |
* @param message the message | |
*/ | |
public final void error( final String message ) | |
{ | |
m_logger.log( Level.ERROR, message ); | |
} | |
/** | |
* Log a error message. | |
* | |
* @param message the message | |
* @param throwable the throwable | |
*/ | |
public final void error( final String message, final Throwable throwable ) | |
{ | |
m_logger.log( Level.ERROR, message, throwable ); | |
} | |
/** | |
* Determine if messages of priority "error" will be logged. | |
* | |
* @return true if "error" messages will be logged | |
*/ | |
public final boolean isErrorEnabled() | |
{ | |
return m_logger.isEnabled( Level.ERROR ); | |
} | |
/** | |
* Log a fatalError message. | |
* | |
* @param message the message | |
*/ | |
public final void fatalError( final String message ) | |
{ | |
m_logger.log( Level.FATAL, message ); | |
} | |
/** | |
* Log a fatalError message. | |
* | |
* @param message the message | |
* @param throwable the throwable | |
*/ | |
public final void fatalError( final String message, final Throwable throwable ) | |
{ | |
m_logger.log( Level.ERROR, message, throwable ); | |
} | |
/** | |
* Determine if messages of priority "fatalError" will be logged. | |
* | |
* @return true if "fatalError" messages will be logged | |
*/ | |
public final boolean isFatalErrorEnabled() | |
{ | |
return m_logger.isEnabled( Level.FATAL ); | |
} | |
/** | |
* Create a new child logger. | |
* The name of the child logger is [current-loggers-name].[passed-in-name] | |
* Throws <code>IllegalArgumentException</code> if name has an empty element name | |
* | |
* @param name the subname of this logger | |
* @return the new logger | |
*/ | |
public final Logger getChildLogger( final String name ) | |
{ | |
return new Log4J2Logger( LogManager.getLogger( m_logger.getName() + "." + name ) ); | |
} | |
} |