    001    //  Copyright 2008 The Apache Software Foundation
    002    //
    003    // Licensed under the Apache License, Version 2.0 (the "License");
    004    // you may not use this file except in compliance with the License.
    005    // You may obtain a copy of the License at
    006    //
    007    //     http://www.apache.org/licenses/LICENSE-2.0
    008    //
    009    // Unless required by applicable law or agreed to in writing, software
    010    // distributed under the License is distributed on an "AS IS" BASIS,
    011    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    012    // See the License for the specific language governing permissions and
    013    // limitations under the License.
    014
    015    package org.apache.tapestry5;
    016
    017    import org.slf4j.Marker;
    018    import org.slf4j.MarkerFactory;
    019
    020    import java.util.Arrays;
    021
    022    /**
    023     * A set of markers used internally by Tapestry when logging in code related to paqes and components. Most logging
    024     * toolkits, including Log4J, do not incorporate markers, but  <a href="http://logback.qos.ch/">LOGBack</a> does.
    025     */
    026    public class TapestryMarkers
    027    {
    028        /**
    029         * A root marker for all things Tapestry related. The remaining markers are children of the TAPESTRY marker.
    030         */
    031        public static final Marker TAPESTRY = MarkerFactory.getMarker("TAPESTRY");
    032
    033        /**
    034         * Logs the final version of the class transformation. This is useful when debugging {@link
    035         * org.apache.tapestry5.services.ComponentClassTransformWorker}s, as it shows exactly what transformation operations
    036         * occured, at the Java code level.
    037         */
    038        public static final Marker CLASS_TRANSFORMATION = MarkerFactory.getMarker("CLASS_TRANSFORMATION");
    039
    040        /**
    041         * Marker for a debug log that occurs just before invocation of a event handler method.
    042         */
    043        public static final Marker EVENT_HANDLER_METHOD = MarkerFactory.getMarker("EVENT_HANDLER_METHOD");
    044
    045        /**
    046         * Marker for logging related to component event dispatch.
    047         */
    048        public static final Marker EVENT_DISPATCH = MarkerFactory.getMarker("EVENT_DISPATCH");
    049
    050        /**
    051         * Marker for logging, at trace level verbose details about each individual {@link
    052         * org.apache.tapestry5.runtime.RenderCommand} involved in rendering the page, as well as a final (debug level)
    053         * summary of command count and elapsed time.
    054         */
    055
    056        public static final Marker RENDER_COMMANDS = MarkerFactory.getMarker("RENDER_COMMANDS");
    057
    058        static
    059        {
    060            for (Marker child : Arrays.asList(CLASS_TRANSFORMATION, EVENT_HANDLER_METHOD, EVENT_DISPATCH, RENDER_COMMANDS))
    061            {
    062                TAPESTRY.add(child);
    063            }
    064        }
    065    }