source: pacpusframework/branches/2.0-beta1/3rd/apache-log4cxx/include/log4cxx/layout.h@ 156

Last change on this file since 156 was 89, checked in by morasjul, 12 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 3.4 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _LOG4CXX_LAYOUT_H
19#define _LOG4CXX_LAYOUT_H
20
21#if defined(_MSC_VER)
22#pragma warning ( push )
23#pragma warning ( disable: 4231 4251 4275 4786 )
24#endif
25
26
27#include <log4cxx/helpers/objectimpl.h>
28#include <log4cxx/helpers/objectptr.h>
29#include <log4cxx/spi/optionhandler.h>
30#include <log4cxx/spi/loggingevent.h>
31
32
33namespace log4cxx
34{
35 /**
36 Extend this abstract class to create your own log layout format.
37 */
38 class LOG4CXX_EXPORT Layout :
39 public virtual spi::OptionHandler,
40 public virtual helpers::ObjectImpl
41 {
42 public:
43 DECLARE_ABSTRACT_LOG4CXX_OBJECT(Layout)
44 BEGIN_LOG4CXX_CAST_MAP()
45 LOG4CXX_CAST_ENTRY(Layout)
46 LOG4CXX_CAST_ENTRY(spi::OptionHandler)
47 END_LOG4CXX_CAST_MAP()
48
49 virtual ~Layout();
50 void addRef() const;
51 void releaseRef() const;
52
53
54 /**
55 Implement this method to create your own layout format.
56 */
57 virtual void format(LogString& output,
58 const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& pool) const = 0;
59
60 /**
61 Returns the content type output by this layout. The base class
62 returns "text/plain".
63 */
64 virtual LogString getContentType() const;
65
66 /**
67 Append the header for the layout format. The base class does
68 nothing.
69 */
70 virtual void appendHeader(LogString& output, log4cxx::helpers::Pool& p);
71
72 /**
73 Append the footer for the layout format. The base class does
74 nothing.
75 */
76 virtual void appendFooter(LogString& output, log4cxx::helpers::Pool& p);
77
78 /**
79 If the layout handles the throwable object contained within
80 {@link spi::LoggingEvent LoggingEvent}, then the layout should return
81 <code>false</code>. Otherwise, if the layout ignores throwable
82 object, then the layout should return <code>true</code>.
83
84 <p>The SimpleLayout, TTCCLayout,
85 PatternLayout all return <code>true</code>. The {@link
86 xml::XMLLayout XMLLayout} returns <code>false</code>.
87 */
88 virtual bool ignoresThrowable() const = 0;
89 };
90 LOG4CXX_PTR_DEF(Layout);
91}
92
93#if defined(_MSC_VER)
94#pragma warning ( pop )
95#endif
96
97#endif // _LOG4CXX_LAYOUT_H
Note: See TracBrowser for help on using the repository browser.