Apache Log4cxx: jsonlayout.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18#ifndef _LOG4CXX_JSON_LAYOUT_H

19#define _LOG4CXX_JSON_LAYOUT_H

20

24

25

26namespace LOG4CXX_NS

27{

32{

33 private:

34 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(JSONLayoutPrivate, m_priv)

35

36 protected:

44

45 public:

52

54

56

64 void setLocationInfo(bool locationInfoFlag);

65

66

70 bool getLocationInfo() const;

71

79 void setPrettyPrint(bool prettyPrintFlag);

80

84 bool getPrettyPrint() const;

85

91 void setThreadInfo(bool newValue);

92

96 bool getThreadInfo() const;

97

102

108 void activateOptions(helpers::Pool& ) override;

109

120

122 const spi::LoggingEventPtr& event, helpers::Pool& pool) const override;

123

127 bool ignoresThrowable() const override

128 {

129 return false;

130 }

131

132};

134}

135

136#endif

This layout outputs events in a JSON dictionary.

Definition: jsonlayout.h:32

void appendQuotedEscapedString(LogString &buf, const LogString &input) const

void appendSerializedMDC(LogString &buf, const spi::LoggingEventPtr &event) const

static void appendItem(const LogString &item, LogString &toAppendTo)

void appendSerializedNDC(LogString &buf, const spi::LoggingEventPtr &event) const

void appendSerializedLocationInfo(LogString &buf, const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p) const

Extend this abstract class to create your own log layout format.

Definition: layout.h:34

std::shared_ptr< LoggingEvent > LoggingEventPtr

Definition: appender.h:32

std::basic_string< logchar > LogString

Definition: logstring.h:60

LOG4CXX_PTR_DEF(Appender)

#define LOG4CXX_CAST_ENTRY(Interface)

Definition: object.h:158

#define END_LOG4CXX_CAST_MAP()

Definition: object.h:152

#define DECLARE_LOG4CXX_OBJECT(object)

Definition: object.h:43

#define LOG4CXX_CAST_ENTRY_CHAIN(Interface)

Definition: object.h:164

#define BEGIN_LOG4CXX_CAST_MAP()

Definition: object.h:146