18#ifndef _LOG4CXX_JSON_LAYOUT_H
19#define _LOG4CXX_JSON_LAYOUT_H
34 LOG4CXX_DECLARE_PRIVATE_MEMBER_PTR(JSONLayoutPrivate, m_priv)
This layout outputs events in a JSON dictionary.
Definition jsonlayout.h:32
void appendQuotedEscapedString(LogString &buf, const LogString &input) const
bool getPrettyPrint() const
Returns the current value of the PrettyPrint option.
void format(LogString &output, const spi::LoggingEventPtr &event) const override
Append the attributes of event as a JSON map onto output.
LogString getContentType() const override
Returns the content type output by this layout, i.e "application/json".
void setPrettyPrint(bool prettyPrintFlag)
The PrettyPrint option takes a boolean value.
void appendSerializedMDC(LogString &buf, const spi::LoggingEventPtr &event) const
bool getLocationInfo() const
Returns the current value of the LocationInfo option.
static void appendItem(const LogString &item, LogString &toAppendTo)
void setLocationInfo(bool locationInfoFlag)
The LocationInfo option takes a boolean value.
void setOption(const LogString &option, const LogString &value) override
Set option to value.
bool getThreadInfo() const
Is a thread identifier included in the output?
bool ignoresThrowable() const override
The JSON layout handles the throwable contained in logging events.
Definition jsonlayout.h:129
void appendSerializedNDC(LogString &buf, const spi::LoggingEventPtr &event) const
void setThreadInfo(bool newValue)
Set thread info output mode to newValue.
void activateOptions() override
Activate the options that were previously set with calls to option setters.
void appendSerializedLocationInfo(LogString &buf, const spi::LoggingEventPtr &event) const
Extend this abstract class to create your own log layout format.
Definition layout.h:33
std::shared_ptr< LoggingEvent > LoggingEventPtr
Definition appender.h:32
std::basic_string< logchar > LogString
Definition logstring.h:51
LOG4CXX_PTR_DEF(Appender)
#define LOG4CXX_CAST_ENTRY(Interface)
Definition object.h:154
#define END_LOG4CXX_CAST_MAP()
Definition object.h:148
#define DECLARE_LOG4CXX_OBJECT(object)
Definition object.h:41
#define LOG4CXX_CAST_ENTRY_CHAIN(Interface)
Definition object.h:160
#define BEGIN_LOG4CXX_CAST_MAP()
Definition object.h:142