X-Git-Url: https://git.siccegge.de//index.cgi?p=frida%2Ffrida.git;a=blobdiff_plain;f=src%2Fgui%2Fwidgets%2FLogDockAppender.cxx;fp=src%2Fgui%2Fwidgets%2FLogDockAppender.cxx;h=5003139d1f3c269b4fc5426f6f8838252ac7ab96;hp=f6419c27601b346d7651fe67fd74caaa2cf0b5bf;hb=2e68bac77646678c1e0fb0ddfcdeb4d847b3265e;hpb=7e983f239ca96faf5c8ba92cd4de54eba5235f75 diff --git a/src/gui/widgets/LogDockAppender.cxx b/src/gui/widgets/LogDockAppender.cxx index f6419c2..5003139 100644 --- a/src/gui/widgets/LogDockAppender.cxx +++ b/src/gui/widgets/LogDockAppender.cxx @@ -15,28 +15,42 @@ LogDockAppender::LogDockAppender() void LogDockAppender::append(const spi::LoggingEventPtr& event, Pool& p) { log4cxx::LogString message, timestamp; - if ( this->layout == NULL ) { - LOG4CXX_ENCODE_CHAR(nameStr, name); - std::string msg("No Layout set for the appender named [ "); - msg.append(nameStr); - msg.append(" ]."); - - LOG4CXX_DECODE_CHAR(msgL, msg); - errorHandler->error(msgL); - return; - } - - layout->format(message, event, p); - timeformat.format(timestamp, event->getTimeStamp(), p); - LOG4CXX_ENCODE_CHAR(messageencode, message); - LOG4CXX_ENCODE_CHAR(timestampencode, timestamp); - - int rowcount = target->rowCount(); - target->insertRow(rowcount); - target->setItem(rowcount, 0, new QTableWidgetItem(timestampencode.c_str())); - target->setItem(rowcount, 1, new QTableWidgetItem(event->getLevel()->toString().c_str())); - target->setItem(rowcount, 2, new QTableWidgetItem(messageencode.c_str())); - target->resizeColumnsToContents(); + if ( this->layout == NULL ) { + LOG4CXX_ENCODE_CHAR(nameStr, name); + std::string msg("No Layout set for the appender named [ "); + msg.append(nameStr); + msg.append(" ]."); + + LOG4CXX_DECODE_CHAR(msgL, msg); + errorHandler->error(msgL); + return; + } + + layout->format(message, event, p); + timeformat.format(timestamp, event->getTimeStamp(), p); + LOG4CXX_ENCODE_CHAR(messageencode, message); + LOG4CXX_ENCODE_CHAR(timestampencode, timestamp); + + QColor rowcolor(0xff, 0xff, 0xff, 0xff); + if (log4cxx::Level::getFatal() == event->getLevel()) { + rowcolor.setRgb(0xff, 0x00, 0x22); + } else if (log4cxx::Level::getError() == event->getLevel()) { + rowcolor.setRgb(0xff, 0x00, 0x00); + } else if (log4cxx::Level::getWarn() == event->getLevel()) { + rowcolor.setRgb(0x00, 0xff, 0xff); + } else if (log4cxx::Level::getTrace() == event->getLevel()) { + rowcolor.setRgb(0xee, 0xff, 0xee); + } + + int rowcount = target->rowCount(); + target->insertRow(rowcount); + target->setItem(rowcount, 0, new QTableWidgetItem(timestampencode.c_str())); + target->setItem(rowcount, 1, new QTableWidgetItem(event->getLevel()->toString().c_str())); + target->setItem(rowcount, 2, new QTableWidgetItem(messageencode.c_str())); + target->item(rowcount, 0)->setBackground(rowcolor); + target->item(rowcount, 1)->setBackground(rowcolor); + target->item(rowcount, 2)->setBackground(rowcolor); + target->resizeColumnsToContents(); } void LogDockAppender::setTarget(LogDock *target) {