From mboxrd@z Thu Jan 1 00:00:00 1970 From: kupcevic@sourceware.org Date: 15 Aug 2006 00:00:12 -0000 Subject: [Cluster-devel] conga/ricci/modules/log LogParser.cpp Message-ID: <20060815000012.7554.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: conga Changes by: kupcevic at sourceware.org 2006-08-15 00:00:12 Modified files: ricci/modules/log: LogParser.cpp Log message: log module: improve kernel logs handling, update tags to parse for CS5 logs Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/log/LogParser.cpp.diff?cvsroot=cluster&r1=1.5&r2=1.6 --- conga/ricci/modules/log/LogParser.cpp 2006/08/11 16:27:28 1.5 +++ conga/ricci/modules/log/LogParser.cpp 2006/08/15 00:00:10 1.6 @@ -39,17 +39,30 @@ -static const char* cluster[] = {"dlm", +static const char* cluster[] = {"cluster", + "modclusterd", + "dlm", "gulm", "cman", + "cman_tool", + "ccs", + "ccs_tool", "ccsd", "fence", "fenced", "clvmd", "gfs", - "clurgmgrd"}; + "gfs2", + "openais", + "groupd", + "qdiskd", + "dlm_controld", + "gfs_controld", + "clurgmgrd", + "rgmanager"}; -static const char* cluster_service_manager[] = {"clurgmgrd"}; +static const char* cluster_service_manager[] = {"clurgmgrd", + "rgmanager"}; static const char* LVS[] = {"ipvs", "ipvsadm", @@ -57,10 +70,12 @@ "piranha-gui"}; static const char* storage[] = {"gfs", + "gfs2", "lvm", "clvm", "clvmd", "end_request", + "buffer", "scsi", "md", "raid0", @@ -68,10 +83,15 @@ "raid4", "raid5", "cdrom", + "ext2", + "ext3", + "ext3-fs", + "swap", "mount", "automount"}; static const char* selinux[] = {"selinux", + "security", "pam", "audit"}; @@ -201,8 +221,12 @@ vector words = utils::split(entry); if (words.size() < 6) throw String("invalid log entry format"); - if (words[4] == "last" && words[5] == "message") - throw String("LogEntry: last message repeatition"); + if (words[4] == "last" && + words[5] == "message") + throw String("LogEntry: last message repetition"); + if (words[5] == "printk:" && + entry.find("suppressed") != entry.npos) + throw String("LogEntry: printk repetition"); // get current year (not present in log files) char buff[100]; @@ -236,31 +260,17 @@ tags.insert(pid); } vector::size_type idx = 5; - if (domain == "kernel") - if (words[5][words[5].size()-1] == ':') { - domain = utils::rstrip(utils::to_lower(words[5]), ":"); - tags.insert(domain); + if (domain == "kernel") { + domain = utils::rstrip(utils::to_lower(words[5]), ":"); + tags.insert(domain); + if (words[5][words[5].size()-1] == ':') idx = 6; - } + } // message for ( ; idx", i)) != msg.npos) { - switch (msg[i]) { - case '<': - msg[i] = '('; - break; - case '>': - msg[i] = ')'; - break; - default: - msg[i] = '\''; - } - } // tags (misc) for (vector::size_type j=4; j<6; j++) {