00001 #include "logging/TxEventLogFactory.h"
00002 #include "logging/TxEventLog.h"
00003 #include "logging/StUcmTasks.h"
00004 #include "logging/StRecordIterator.h"
00005 #include "logging/RecordList.h"
00006 #include "logging/StDbFieldI.h"
00007 #include "logging/StUcmJobs.h"
00008 #include "logging/StUcmEvents.h"
00009 #include <iostream>
00010
00011 using namespace TxLogging;
00012 using namespace std;
00013
00014 int main(int argc , char *argv[])
00015 {
00016 TxEventLog &ucm = *TxEventLogFactory::create("c");
00017
00018 cout << "Total tasks recorded by \"Tasks\" table :=" <<ucm.queryTableSize("Tasks") << endl;
00019 const char *username = "starreco";
00020 ucm.setRequesterName(username);
00021 cout << "Total tasks recorded by \"Tasks\" table for <"
00022 << username << ">:= "
00023 << ucm.queryTableSize("Tasks") << endl;
00024 StUcmTasks &tasks = *ucm.getTaskList(10);
00025 Iterator task = tasks.taskIterator();
00026 StRecord *r = 0;
00027 if (task.hasNext()) {
00028 r = task.next();
00029 cout << "*** Total " << ucm.queryTableSize("Jobs",r)
00030 <<" jobs were found for the current task" << endl;
00031 r->printHeader();
00032 r->print();
00033 StUcmJobs &jobs = *ucm.getJobList(r,20);
00034 Iterator job = jobs.jobIterator();
00035 ucm.setDbJobID(1);
00036 {
00037 StUcmEvents &events=*ucm.getEventList(20);
00038 Iterator event = events.eventIterator();
00039 while(event.hasNext() ){
00040 r = event.next();
00041 r->print();
00042 }
00043 }
00044 bool doHeader = true;
00045 while (job.hasNext() ) {
00046 r = job.next();
00047 cout << "*** Total " << ucm.queryTableSize("Events",r)
00048 <<" events were found for the current job" << endl;
00049 if (doHeader) {
00050 r->printHeader();
00051 r->print();
00052 doHeader = false;
00053 StUcmEvents &events=*ucm.getEventList(r,20);
00054 Iterator event = events.eventIterator();
00055 while(event.hasNext() ){
00056 r = event.next();
00057 r->print();
00058 }
00059 } else {
00060 r->print();
00061 }
00062 }
00063 ucm.setDbJobID(1);
00064 cout << " --------------------------------------" << endl;
00065 ucm.logJobAttribute ("queue","Very Long");
00066 cout << " --------------------------------------" << endl;
00067 StUcmEvents &events=*ucm.getEventList(20);
00068 Iterator event = events.eventIterator();
00069 while(event.hasNext() ){
00070 r = event.next();
00071 r->print();
00072 }
00073 }
00074 }