FedletLogger.java revision a688bcbb4bcff5398fdd29b86f83450257dc0df4
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Copyright (c) 2008 Sun Microsystems Inc. All Rights Reserved
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * The contents of this file are subject to the terms
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * of the Common Development and Distribution License
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * (the License). You may not use this file except in
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * compliance with the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * You can obtain a copy of the License at
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * https://opensso.dev.java.net/public/CDDLv1.0.html or
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * See the License for the specific language governing
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * permission and limitations under the License.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * When distributing Covered Code, include this CDDL
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Header Notice in each file and include the License file
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * If applicable, add the following below the CDDL Header,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * with the fields enclosed by brackets [] replaced by
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * your own identifying information:
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * "Portions Copyrighted [year] [name of copyright owner]"
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * $Id: FedletLogger.java,v 1.3 2008/08/06 17:28:14 exu Exp $
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.shared.configuration.SystemPropertiesManager;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterimport com.sun.identity.plugin.log.LogException;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * This class is an implementation of the Open Federation Logger interface
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * for Fedlet deployment. The implementation uses JDK logger.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Fosterpublic class FedletLogger implements com.sun.identity.plugin.log.Logger {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static Debug debug = Debug.getInstance("libPlugins");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static boolean logStatus = false;
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster com.sun.identity.shared.Constants.AM_LOGSTATUS);
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster logStatus = (status != null) && status.equalsIgnoreCase("ACTIVE");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Initializes the logging for the component.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param componentName the component name.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception LogException if there is an error
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * during initialization.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void init(String componentName) throws LogException {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster accessLogger = Logger.getLogger(componentName + ".access");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster errorLogger = Logger.getLogger(componentName + ".error");
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Logs message to the access logs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param level the log level , these are based on those
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * defined in java.util.logging.Level, the values for
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * level can be any one of the following : <br>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>SEVERE (highest value)</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>WARNING</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>INFO</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>CONFIG</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>FINE</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>FINER</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>FINEST (lowest value)</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param messageId the message or a message identifier.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param data string array of dynamic data to be replaced in the message.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param session the User's session object
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception LogException if there is an error.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Writes access to a component into a log.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param level indicating log level
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param messageId Message id
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param data string array of dynamic data only known during run time
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param session Session object (it could be null)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param props representing log record columns
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception LogException if there is an error.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster private static String formatMessage(String messageId, String[] param,
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster messageId = messageId + "\n{" + param[i] + "}";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster messageId = messageId + "\n{" + session.toString() + "}";
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Logs error messages to the error logs.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param level the log level , these are based on those
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * defined in java.util.logging.Level, the values for
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * level can be any one of the following : <br>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>SEVERE (highest value)</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>WARNING</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>INFO</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>CONFIG</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>FINE</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>FINER</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * <li>FINEST (lowest value)</li>
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param messageId the message or a message identifier.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param data string array of dynamic data to be replaced in the message.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param session the User's Session object.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception LogException if there is an error.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public void error(Level level, String messageId, String data[],
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Writes error occurred in a component into a log.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param level indicating log level
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param messageId Message id
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param data string array of dynamic data only known during run time
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param session Session object (it could be null)
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param props log record columns
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @exception LogException if there is an error.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Returns <code>true</code> if logging is enabled.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return <code>true</code> if logging is enabled.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster public boolean isLogEnabled() {
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Checks if an access message of the given level would actually be logged
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * by this logger. This check is based on the Logger's effective level.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param level a message logging level defined in java.util.logging.Level.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return true if the given message level is currently being logged.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * Checks if an error message of the given level would actually be logged
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * by this logger. This check is based on the Logger's effective level.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @param level a message logging level defined in java.util.logging.Level.
a688bcbb4bcff5398fdd29b86f83450257dc0df4Allan Foster * @return true if the given message level is currently being logged.