[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/sysadmin/ksystemlog/src
From:       Nicolas Ternisien <nicolas.ternisien () gmail ! com>
Date:       2007-09-14 14:47:55
Message-ID: 1189781275.152857.16344.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 712484 by ternisien:

Improved kernel mode recognition

 M  +2 -0      lib/analyzer.cpp  
 M  +42 -2     modes/kernel/kernelAnalyzer.h  


--- trunk/playground/sysadmin/ksystemlog/src/lib/analyzer.cpp #712483:712484
@@ -109,6 +109,8 @@
 		logFileReaders.append(logFileReader);
 		
 		connect(logFileReader, SIGNAL(contentChanged(LogFileReader*, bool, const \
QStringList&)), this, SLOT(logFileChanged(LogFileReader*, bool, const \
QStringList&))); +		connect(logFileReader, SIGNAL(statusBarChanged(const QString&)), \
this, SIGNAL(statusBarChanged(const QString&))); +		connect(logFileReader, \
SIGNAL(errorOccured(const QString&, const QString&)), this, SIGNAL(errorOccured(const \
QString&, const QString&)));  }
 }
 
--- trunk/playground/sysadmin/ksystemlog/src/modes/kernel/kernelAnalyzer.h \
#712483:712484 @@ -22,8 +22,12 @@
 #ifndef _KERNEL_ANALYZER_H_
 #define _KERNEL_ANALYZER_H_
 
+#include <QRegExp>
+
 #include <klocale.h>
 
+#include "logging.h"
+
 #include "analyzer.h"
 
 #include "processOutputLogFileReader.h"
@@ -49,6 +53,7 @@
 		LogViewColumns initColumns() {
 			LogViewColumns columns;
 			columns.addColumn(LogViewColumn(i18n("Date"), true, false));
+			columns.addColumn(LogViewColumn(i18n("Component"), true, false));
 			columns.addColumn(LogViewColumn(i18n("Message"), true, false));
 
 			return columns;
@@ -60,11 +65,46 @@
 		}
 		
 		LogLine* parseMessage(const QString& logLine, const LogFile& originalLogFile) {
+			QString timeRegex("\\[\\ *(\\d*)\\.(\\d*)\\]\\s+");
+			
+			QRegExp componentRegexp(timeRegex + "([^\\s:]{,20})[:|\\s] (.*)");
+			QRegExp messageRegexp(timeRegex + "(.*)");
+			
+			int firstPosition;
+			
+			QDateTime dateTime(QDateTime::currentDateTime());
 			QStringList messages;
-			messages.append(logLine);
 			
+			firstPosition = componentRegexp.indexIn(logLine);
+			if (firstPosition != -1) {
+				logDebug() << componentRegexp.cap(1).toInt() << "and" << \
componentRegexp.cap(2).toInt() << endl; +				dateTime.addSecs( \
componentRegexp.cap(1).toInt() ); +				dateTime.addMSecs( \
componentRegexp.cap(2).toInt() ); +				messages.append( componentRegexp.cap(3) );
+				messages.append( componentRegexp.cap(4) );
+			}
+
+			firstPosition = messageRegexp.indexIn(logLine);
+			if (firstPosition != -1) {
+				logDebug() << messageRegexp.cap(1).toInt() << "and" << \
messageRegexp.cap(2).toInt() << endl; +				dateTime.addSecs( \
messageRegexp.cap(1).toInt() ); +				dateTime.addMSecs( messageRegexp.cap(2).toInt() \
); +				messages.append( "" );
+				messages.append( messageRegexp.cap(3) );
+			}
+			
+			
+			logDebug() << "--------------------------------" << endl;
+			logDebug() << logLine << endl;
+			logDebug() << "Secs : " << dateTime.time().second() << endl;
+			logDebug() << "MSec : " << dateTime.time().msec() << endl;
+			logDebug() << "Comp : " << messages.at(0) << endl;
+			logDebug() << "Msg  : " << messages.at(1) << endl;
+			logDebug() << "--------------------------------" << endl;
+			
+			
 			LogLine* line = new LogLine(
-					QDateTime::currentDateTime(), 
+					dateTime, 
 					messages,
 					originalLogFile.url().path(),
 					originalLogFile.defaultLogLevel(),


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic