/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at legal-notices/CDDLv1_0.txt.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
*
* Portions Copyright 2013-2015 ForgeRock AS
*/
/**
* This class defines the wrapper that will invoke all registered HTTP access
* loggers for each type of request received or response sent.
*/
{
private static LoggerStorage
/** The singleton instance of this class for configuration purposes. */
/**
* The constructor for this class.
*/
private HTTPAccessLogger()
{
super((Class) HTTPAccessLogPublisher.class,
}
/** {@inheritDoc} */
{
return HTTPAccessLogPublisherCfgDefn.getInstance()
}
/** {@inheritDoc} */
{
return loggerStorage.getLogPublishers();
}
/**
* Retrieve the singleton instance of this class.
*
* @return The singleton instance of this logger.
*/
{
return instance;
}
/**
* Returns all the registered HTTP access log publishers.
*
* @return a Collection of {@link HTTPAccessLogPublisher} objects
*/
{
return loggerStorage.getLogPublishers();
}
/**
* Logs the given HTTPRequestInfo.
*
* @param requestInfo
* the HTTP request info to log
*/
{
{
}
}
/** {@inheritDoc} */
public final synchronized void addLogPublisher(
{
}
/** {@inheritDoc} */
public final synchronized boolean removeLogPublisher(
{
}
public final synchronized void removeAllLogPublishers()
{
// Access logger may have not been fully initialized
{
}
}
}