1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24#ifndef __com_sun_star_logging_LogRecord_idl__
25#define __com_sun_star_logging_LogRecord_idl__
26
27#ifndef __com_sun_star_util_DateTime_idl__
28#include <com/sun/star/util/DateTime.idl>
29#endif
30
31//=============================================================================
32
33module com { module sun { module star { module logging {
34
35//=============================================================================
36
37/** assembles the complete information about a to-be-logged event
38
39    @see XLogger
40
41    @since OpenOffice 2.3
42 */
43published struct LogRecord
44{
45    /// specifies the name of the logger at which the record is logged
46    string  LoggerName;
47
48    /** specifies the name of the class, in which the record was logged.
49
50        This name might be empty, in case the caller to one of the various
51        <code>log</code> methods of <type>XLogger</type> did not specify it.
52    */
53    string  SourceClassName;
54
55    /** specifies the name of the method, in which the record was logged.
56
57        This name might be empty, in case the caller to one of the various
58        <code>log</code> methods of <type>XLogger</type> did not specify it.
59    */
60    string  SourceMethodName;
61
62    /// specifies the to-be-logged message
63    string  Message;
64
65    /// specifies the time at which the event was logged
66    ::com::sun::star::util::DateTime
67            LogTime;
68
69    /** specifies the number of the log event.
70
71        Subsequent events get assigned increasing sequence numbers by the <type>XLogger</type>
72        at which they're logged.
73    */
74    hyper   SequenceNumber;
75
76    /// specifies the ID of the thread in which the event was logged
77    string  ThreadID;
78
79    /** specifies the level of the log event
80
81        @see LogLevel
82    */
83    long    Level;
84};
85
86//=============================================================================
87
88}; }; }; };
89
90//=============================================================================
91
92#endif
93