/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* 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 .
*/
module com { module sun { module star { module logging {
interface XLogHandler;
/** implemented by a component which is able to log events.
< p > This interface is roughly designed after the
< a href = " http : //java.sun.com/javase/6/docs/api/java/util/logging/package-summary.html">Java
Logging API < / a > . However , there are some differences , the major ones being :
< ul > < li > There ' s no support ( yet ) for filtering log events . < / li >
< li > There ain ' t no convenience methods for logging . < / li >
< li > There ' s no localization support . < / li >
< li > Logger instances do not form a hierarchy . < / li >
< / ul > < / p >
@ since OOo 2 . 3
*/
interface XLogger
{
/** denotes the name of the logger.
*/
[attribute, readonly] string Name;
/** specifies which log events are logged or ignored.
@ see LogLevel
*/
[attribute] long Level;
/** adds the given handler to the list of handlers.
< p > When an event is logged , the logger will create a LogRecord
for this event , and pass this record to all registered handlers . Single handlers
might or might not log those records at their own discretion , and depending on
additional restrictions such as filters specified at handler level . < / p >
< p > Note : The log level of the given handler ( XLogHandler : : Level ) will
not be touched . In particular , it will not be set to the logger ' s log level . It ' s
the responsibility of the component which knits a logger with one or more
log handlers to ensure that all loggers have appropriate levels set . < / p >
@ param LogHandler
the handler to add to the list of handlers . The call is ignored if this
parameter is ` NULL ` .
*/
void addLogHandler( [in] XLogHandler LogHandler );
/** removes the given handler from the list of handlers.
@ param LogHandler
the handler to remove from the list of handlers . The call is ignored if this
parameter is ` NULL ` , or if the handler has not previously been added .
*/
void removeLogHandler( [in] XLogHandler LogHandler );
/** determines whether logger instance would produce any output for the given level.
< p > The method can be used to optimize performance as maybe complex parameter evaluation
in the < code > log < / code > calls can be omitted if < code > isLoggable < / code > evaluates to false . < / p >
@ param Level
level to be checked against
@ returns
` TRUE ` if there would be some output for this XLogger for the given level , ` FALSE `
otherwise . Note that a return value of ` FALSE ` could also indicate that the logger
does not have any log handlers associated with it .
@ see addLogHandler
@ see removeLogHandler
*/
boolean isLoggable( [in] long Level );
/** logs a given message
@ param Level
the log level of this message . If this level is smaller than the logger ' s # Level
attribute , then the call will be ignored .
@ param Message
the message to log
*/
void log( [in] long Level, [in] string Message );
/** logs a given message, detailing the source class and method at which the logged
event occurred .
@ param Level
the log level of this message . If this level is smaller than the logger ' s # Level
attribute , then the call will be ignored .
@ param SourceClass
the source class at which the logged event occurred .
@ param SourceMethod
the source class at which the logged event occurred .
@ param Message
the message to log
*/
void logp( [in] long Level, [in] string SourceClass, [in] string SourceMethod, [in] string Message );
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=96 H=91 G=93
¤ Dauer der Verarbeitung: 0.7 Sekunden
¤
*© Formatika GbR, Deutschland