868N/A * The contents of this file are subject to the terms of the 868N/A * Common Development and Distribution License, Version 1.0 only 868N/A * (the "License"). You may not use this file except in compliance 868N/A * See the License for the specific language governing permissions 868N/A * and limitations under the License. 868N/A * When distributing Covered Code, include this CDDL HEADER in each 6983N/A * If applicable, add the following below this CDDL HEADER, with the 6983N/A * fields enclosed by brackets "[]" replaced with your own identifying 868N/A * Portions Copyright [yyyy] [name of copyright owner] 4564N/A * Copyright 2007-2009 Sun Microsystems, Inc. 6207N/A * Portions Copyright 2013 ForgeRock AS 868N/A * A logger for debug and trace logging. DebugLogger provides a debugging 868N/A * management access point. It is used to configure the Tracers, as well as 868N/A * to register a per-class tracer. 868N/A * Various stub debug methods are provided to log different types of debug 868N/A * messages. However, these methods do not contain any actual implementation. 868N/A * Tracer aspects are later weaved to catch alls to these stub methods and 868N/A * do the work of logging the message. 868N/A * DebugLogger is self-initializing. 6209N/A /** The default level to log constructor executions. */ 6209N/A /** The default level to log method entry and exit pointcuts. */ 6209N/A /** The default level to log method entry and exit pointcuts. */ 6209N/A /** The set of all DebugTracer instances. */ 6209N/A * Trace methods will use this static boolean to determine if debug is enabled 6209N/A * so to not incur the cost of calling debugPublishers.isEmpty(). 6209N/A /** The singleton instance of this class for configuration purposes. */ 6209N/A * The constructor for this class. 1280N/A * Add an debug log publisher to the debug logger. 6209N/A * @param publisher The debug log publisher to add. 1280N/A * Remove an debug log publisher from the debug logger. 1514N/A * @param publisher The debug log publisher to remove. 1280N/A * @return The publisher that was removed or null if it was not found. 1280N/A * Removes all existing debug log publishers from the logger. 1400N/A * Update all debug tracers with the settings in the registered 1280N/A * Indicates if debug logging is enabled. 1280N/A * @return True if debug logging is enabled. False otherwise. 1280N/A * Retrieve the singleton instance of this class. 1280N/A * @return The singleton instance of this logger. 1400N/A * Creates a new Debug Tracer for the caller class and registers it 1400N/A * @return The tracer created for the caller class. 1400N/A * Returns the registered Debug Tracer for a traced class. 1400N/A * @param className The name of the class tracer to retrieve. 1400N/A * @return The tracer for the provided class or null if there are 1280N/A * Classes and methods annotated with @NoDebugTracing will not be weaved with 1280N/A * debug logging statements by AspectJ. 1280N/A * Methods annotated with @NoEntryDebugTracing will not be weaved with 1280N/A * entry debug logging statements by AspectJ. 1280N/A * Methods annotated with @NoExitDebugTracing will not be weaved with 1280N/A * exit debug logging statements by AspectJ. 1280N/A * Methods annotated with @TraceThrown will be weaved by AspectJ with 1280N/A * debug logging statements when an exception is thrown from the method.