1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_logging_XLogFormatter_idl__ 29#define __com_sun_star_logging_XLogFormatter_idl__ 30 31#ifndef __com_sun_star_uno_XInterface_idl__ 32#include <com/sun/star/uno/XInterface.idl> 33#endif 34 35#ifndef __com_sun_star_logging_LogRecord_idl__ 36#include <com/sun/star/logging/LogRecord.idl> 37#endif 38 39//============================================================================= 40 41module com { module sun { module star { module logging { 42 43//============================================================================= 44 45/** specifies the interface to be used for formatting log records 46 47 @see XLogHandler 48 49 @since OOo 2.3 50*/ 51published interface XLogFormatter 52{ 53 /** returns the header string for the log 54 55 <p>This can be used to generate a header string, which by the <type>XLogHandler</type> 56 is emitted to its output channel before actually logging any concrete 57 <type>LogRecord</type>.</p> 58 59 <p>For instance, a formatter might produce table-like plain text output, 60 and could return a table-head string (potentially including line breaks) 61 here.</p> 62 */ 63 string getHead(); 64 65 /** formats the given log record for output 66 67 <p>A <type>XLogHandler</type> will call this method to format a given 68 log record. The resulting string will be emitted to the handler's output 69 channel, without processing it any further (except possibly encoding it with 70 the handler's <code>Encoding</code>).</p> 71 */ 72 string format( [in] LogRecord Record ); 73 74 /** returns the footer string for the log 75 76 <p>This can be used to generate a footer string, which by the <type>XLogHandler</type> 77 is emitted to its output channel before it is finally being closed.</p> 78 */ 79 string getTail(); 80}; 81 82//============================================================================= 83 84}; }; }; }; 85 86//============================================================================= 87 88#endif 89