log4shib  1.0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 _LOG4SHIB_PATTERNLAYOUT_HH
10 #define _LOG4SHIB_PATTERNLAYOUT_HH
11 
12 #include <log4shib/Portability.hh>
13 #include <log4shib/Layout.hh>
14 #include <log4shib/Configurator.hh>
15 #include <vector>
16 #ifdef LOG4SHIB_HAVE_SSTREAM
17 #include <sstream>
18 #endif
19 
20 namespace log4shib {
21 
26  public:
30  static const char* DEFAULT_CONVERSION_PATTERN;
31 
35  static const char* SIMPLE_CONVERSION_PATTERN;
36 
40  static const char* BASIC_CONVERSION_PATTERN;
41 
46  static const char* TTCC_CONVERSION_PATTERN;
47 
48  PatternLayout();
49  virtual ~PatternLayout();
50 
56  virtual std::string format(const LoggingEvent& event);
57 
82  virtual void setConversionPattern(const std::string& conversionPattern)
83  throw(ConfigureFailure);
84 
85  virtual std::string getConversionPattern() const;
86 
87  virtual void clearConversionPattern();
88 
90  public:
91  inline virtual ~PatternComponent() {};
92  virtual void append(std::ostringstream& out, const LoggingEvent& event) = 0;
93  };
94 
95  private:
96  typedef std::vector<PatternComponent*> ComponentVector;
97  ComponentVector _components;
98 
99  std::string _conversionPattern;
100  };
101 }
102 
103 #endif // _LOG4SHIB_PATTERNLAYOUT_HH
The internal representation of logging events.
Definition: LoggingEvent.hh:32
static const char * SIMPLE_CONVERSION_PATTERN
A conversion pattern equivalent to the SimpleLayout.
Definition: PatternLayout.hh:35
static const char * TTCC_CONVERSION_PATTERN
A conversion pattern equivalent to the TTCCLayout.
Definition: PatternLayout.hh:46
virtual ~PatternComponent()
Definition: PatternLayout.hh:91
#define LOG4SHIB_EXPORT
Definition: Export.hh:11
PatternLayout is a simple fixed format Layout implementation.
Definition: PatternLayout.hh:25
static const char * DEFAULT_CONVERSION_PATTERN
The default conversion pattern.
Definition: PatternLayout.hh:30
The top level namespace for all 'Log for C++' types and classes.
Definition: AbortAppender.hh:16
Extend this abstract class to create your own log layout format.
Definition: Layout.hh:22
static const char * BASIC_CONVERSION_PATTERN
A conversion pattern equivalent to the BasicLayout.
Definition: PatternLayout.hh:40
Exception class for configuration.
Definition: Configurator.hh:26
Definition: Portability.hh:38
Definition: PatternLayout.hh:89