//////////////////////////////////////////////////////////////////////////////// // // 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. // //////////////////////////////////////////////////////////////////////////////// package mx.logging { /** * All logger target implementations within the logging framework * must implement this interface. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ public interface ILoggingTarget { //-------------------------------------------------------------------------- // // Properties // //-------------------------------------------------------------------------- //---------------------------------- // filters //---------------------------------- /** * In addition to the level setting, filters are used to * provide a psuedo-hierarchical mapping for processing only those events * for a given category. * *

Each logger belongs to a category. * By convention these categories map to the fully qualified class name * in which the logger is used. * For example, a logger that is logging messages for the * mx.rpc.soap.WebService class would use * "mx.rpc.soap.WebService" as the parameter * to the Log.getLogger() call. * When messages are sent under this category only those targets that have * a filter which matches that category will receive notification of those * events. * Filter expressions may include a wildcard match, indicated with an * asterisk. * The wildcard must be the right most character in the expression. * For example: rpc~~, mx.~~, or ~~. * If an invalid expression is specified a InvalidFilterError * will be thrown. * No spaces or any of the following characters are valid within a filter * expression: []~$^&\/(){}<>+=`!#%?,:;'"@.

* * @example *
     *  var traceLogger:ILoggingTarget = new TraceTarget();
     *  traceLogger.filters = [ "mx.rpc.~~", "mx.messaging.~~" ];
     *  Log.addTarget(traceLogger);
     *  
* * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ function get filters():Array; /** * @private */ function set filters(value:Array):void; //---------------------------------- // level //---------------------------------- /** * Provides access to the level this target is currently set at. * Value values are: * * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ function get level():int; /** * @private */ function set level(value:int):void; //-------------------------------------------------------------------------- // // Methods // //-------------------------------------------------------------------------- /** * Sets up this target with the specified logger. * This allows this target to receive log events from the specified logger. * *

Note: This method is called by the framework * and should not be called by you directly.

* * @param logger The ILogger that this target listens to. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ function addLogger(logger:ILogger):void; /** * Stops this target from receiving events from the specified logger. * *

Note: This method is called by the framework * and should not be called by you directly.

* * @param logger The ILogger that this target ignores. * * @langversion 3.0 * @playerversion Flash 9 * @playerversion AIR 1.1 * @productversion Flex 3 */ function removeLogger(logger:ILogger):void; } }