A simple logging class. More...
#include <Wt/WLogger>
Classes | |
| class | Field |
| Class that holds the configuration for a single field. More... | |
| struct | Sep |
| Class that indicates a field separator. More... | |
| struct | TimeStamp |
| Class that indicates a time stamp. More... | |
Public Member Functions | |
| WLogger () | |
| Create a new logger. | |
| ~WLogger () | |
| Destructor. | |
| void | setStream (std::ostream &o) |
| Set the output stream. | |
| void | setFile (const std::string &path) |
| Set the output file. | |
| void | addField (const std::string &name, bool isString) |
| Add a field. | |
| const std::vector< Field > & | fields () const |
| Returns the field list. | |
| WLogEntry | entry () const |
| Start a new log entry. | |
Static Public Attributes | |
| static const Sep | sep = WLogger::Sep() |
| Field separator constant. | |
| static const TimeStamp | timestamp = WLogger::TimeStamp() |
| Timestamp field constant. | |
A simple logging class.
This class logs events to a stream in a flexible way. It allows to create log files using the commonly used Common Log Format or Combined Log Format, but provides a general way for logging entries that consists of a fixed number of fields.
It is used by Wt to create the application log (WApplication::log()), and built-in httpd access log.
To use this class for custom logging, you should instantiate a logger, add one or more field definitions using addField(), and set an output stream using setStream() or setFile(). To stream data to the logger, use entry() to start formatting a new entry.
Usage example:
// Setup the logger Wt::WLogger logger; logger.addField("datetime", false); logger.addField("session", false); logger.addField("type", false); logger.addField("message", true); logger.setFile("/tmp/mylog.txt"); // Add an entry Wt::WLogEntry entry = logger.entry(); entry << Wt::WLogger::timestamp << Wt::WLogger::sep << '[' << wApp->sessionId() << ']' << Wt::WLogger::sep << '[' << "notice" << ']' << Wt::WLogger::sep << "Succesfully started.";
| void Wt::WLogger::addField | ( | const std::string & | name, |
| bool | isString | ||
| ) |
Add a field.
Add a field to the logger. When isString is true, values will be quoted.
| WLogEntry Wt::WLogger::entry | ( | ) | const |
Start a new log entry.
Returns a new entry. The entry is logged in the destructor of the entry (i.e. when the entry goes out of scope).
| void Wt::WLogger::setFile | ( | const std::string & | path ) |
| void Wt::WLogger::setStream | ( | std::ostream & | o ) |
Set the output stream.
const WLogger::Sep Wt::WLogger::sep = WLogger::Sep() [static] |
Field separator constant.
const WLogger::TimeStamp Wt::WLogger::timestamp = WLogger::TimeStamp() [static] |
Timestamp field constant.
1.7.2