log4cpp  1.1.6
PatternLayout.hh
Go to the documentation of this file.
1 /*
2  * PatternLayout.hh
3  *
4  * Copyright 2002, Bastiaan Bakker. All rights reserved.
5  *
6  * See the COPYING file for the terms of usage and distribution.
7  */
8 
9 #ifndef _LOG4CPP_PATTERNLAYOUT_HH
10 #define _LOG4CPP_PATTERNLAYOUT_HH
11 
12 #include <log4cpp/Configurator.hh>
13 #include <log4cpp/Layout.hh>
14 #include <log4cpp/Portability.hh>
15 #include <vector>
16 #ifdef LOG4CPP_HAVE_SSTREAM
17 #include <sstream>
18 #endif
19 #include <string>
20 
21 namespace log4cpp {
22 
27  public:
31  static const char* DEFAULT_CONVERSION_PATTERN;
32 
36  static const char* SIMPLE_CONVERSION_PATTERN;
37 
41  static const char* BASIC_CONVERSION_PATTERN;
42 
47  static const char* TTCC_CONVERSION_PATTERN;
48 
49  PatternLayout();
50  virtual ~PatternLayout();
51 
52  // NOTE: All double percentage signs ('%%') followed by a character
53  // in the following comments should actually be a single char.
54  // The doubles are included so that doxygen will print them correctly.
60  virtual std::string format(const LoggingEvent& event);
61 
85  virtual void setConversionPattern(const std::string& conversionPattern);
86 
87  virtual std::string getConversionPattern() const;
88 
89  virtual void clearConversionPattern();
90 
92  public:
93  inline virtual ~PatternComponent() {};
94  virtual void append(std::ostringstream& out, const LoggingEvent& event) = 0;
95  };
96 
97  private:
98  typedef std::vector<PatternComponent*> ComponentVector;
99  ComponentVector _components;
100 
101  std::string _conversionPattern;
102  };
103 } // namespace log4cpp
104 
105 #endif // _LOG4CPP_PATTERNLAYOUT_HH
static const char * DEFAULT_CONVERSION_PATTERN
The default conversion pattern.
Definition: PatternLayout.hh:31
Extend this abstract class to create your own log layout format.
Definition: Layout.hh:22
Definition: PatternLayout.hh:91
virtual ~PatternComponent()
Definition: PatternLayout.hh:93
#define LOG4CPP_EXPORT
Definition: Export.hh:26
The top level namespace for all &#39;Log for C++&#39; types and classes.
Definition: AbortAppender.hh:16
static const char * SIMPLE_CONVERSION_PATTERN
A conversion pattern equivalent to the SimpleLayout.
Definition: PatternLayout.hh:36
The internal representation of logging events.
Definition: LoggingEvent.hh:32
static const char * BASIC_CONVERSION_PATTERN
A conversion pattern equivalent to the BasicLayout.
Definition: PatternLayout.hh:41
static const char * TTCC_CONVERSION_PATTERN
A conversion pattern equivalent to the TTCCLayout.
Definition: PatternLayout.hh:47
Definition: Portability.hh:62
PatternLayout is a simple fixed format Layout implementation.
Definition: PatternLayout.hh:26