19 #include <QTextStream>
22 #define LOGFILE_MODE \
23 (QIODevice::WriteOnly|QIODevice::Append|QIODevice::Text)
25 #define TIMESTAMP_FMT "MMM dd HH:mm:ss.zzz"
44 return (QStringList() <<
"debug" <<
"info" <<
"notice"
45 <<
"warn" <<
"error");
111 return log(level) << msg;
119 case Debug:
return "debug";
120 case Info:
return "info";
121 case Notice:
return "notice";
122 case Warn:
return "warn";
123 case Error:
return "error";
124 case Off:
return "off";
125 default:
return "unknown";
137 else if (str ==
"info")
139 else if (str ==
"notice")
141 else if (str ==
"warn")
143 else if (str ==
"error")
145 else if (str ==
"off")
155 QString msg = QDateTime::currentDateTime().toString(
TIMESTAMP_FMT);
165 if (!--stream->ref) {
166 if (stream->out && !stream->buf.isEmpty()) {
167 QTextStream
log(stream->out);
168 log << toString() << endl;
struct Log::LogMessage::Stream * stream
static QStringList logLevels()
static QString logLevelToString(LogLevel level)
void setLogLevel(LogLevel level)
static LogLevel stringToLogLevel(QString str)
LogMessage log(LogLevel level, QString message)