Changeset 272 for trunk/src/sh_log_evalrule.c
- Timestamp:
- Jan 27, 2010, 10:52:20 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/sh_log_evalrule.c
r265 r272 151 151 char ** splits = split_array(new, &nfields, ':', lengths); 152 152 153 /* group is label:regex 154 */ 155 153 156 if (group_open) 154 157 group_open = NULL; … … 313 316 struct sh_qeval * nq; 314 317 int severity; 315 unsigned int nfields = 4; /* label:interval:(report|sum):severity*/316 size_t lengths[ 4];318 unsigned int nfields = 5; /* label:interval:(report|sum):severity[:alias] */ 319 size_t lengths[5]; 317 320 char * new = sh_util_strdup(str); 318 321 char ** splits = split_array(new, &nfields, ':', lengths); 319 322 320 if (nfields !=4)323 if (nfields < 4) 321 324 { 322 325 SH_FREE(splits); … … 356 359 nq = SH_ALLOC(sizeof(struct sh_qeval)); 357 360 nq->label = sh_string_new_from_lchar(splits[0], lengths[0]); 361 nq->alias = NULL; 358 362 359 363 DEBUG("debug: splits[2] = %s, policy = %d\n",splits[2],nq->policy); … … 368 372 369 373 nq->severity = severity; 374 375 if (nfields == 5) 376 { 377 nq->alias = sh_string_new_from_lchar(splits[4], lengths[4]); 378 } 379 370 380 nq->next = queuelist; 371 381 queuelist = nq; … … 408 418 return SH_ERR_SEVERE; 409 419 } 420 421 sh_string * sh_log_lookup_alias(const char * str) 422 { 423 struct sh_qeval * queue; 424 425 if (str) 426 { 427 if (0 != strcmp(str, _("trash"))) 428 { 429 queue = sh_log_find_queue(str); 430 431 if (queue) 432 return queue->alias; 433 } 434 } 435 return NULL; 436 } 437 410 438 411 439 static char * get_label_and_time(const char * inprefix, char * str, … … 993 1021 } 994 1022 995 static void msg_report(int severity, struct sh_geval * rule, struct sh_logrecord * record) 1023 static void msg_report(int severity, const sh_string * alias, 1024 struct sh_geval * rule, struct sh_logrecord * record) 996 1025 { 997 1026 char * tmp; … … 1017 1046 sh_string_str(record->host), 1018 1047 tmp); 1048 if (alias) 1049 { 1050 sh_error_mail (sh_string_str(alias), 1051 severity, FIL__, __LINE__, 0, MSG_LOGMON_REP, 1052 msg, 1053 ttt, 1054 sh_string_str(record->host), 1055 tmp); 1056 } 1019 1057 SH_FREE(ttt); 1020 1058 SH_FREE(msg); … … 1025 1063 } 1026 1064 1027 static void sum_report(int severity, sh_string * host, sh_string * message, sh_string * path) 1065 static void sum_report(int severity, const sh_string * alias, 1066 sh_string * host, sh_string * message, sh_string * path) 1028 1067 { 1029 1068 char * tmp; … … 1037 1076 sh_string_str(host), 1038 1077 tmp); 1078 if (alias) 1079 { 1080 sh_error_mail (sh_string_str(alias), 1081 severity, FIL__, __LINE__, 0, MSG_LOGMON_SUM, 1082 msg, 1083 sh_string_str(host), 1084 tmp); 1085 } 1039 1086 SH_FREE(msg); 1040 1087 SH_FREE(tmp); … … 1108 1155 { 1109 1156 DEBUG("debug: report count\n"); 1110 sum_report(rule->queue->severity, counter->hostname,1111 counter-> counted_str, counter->filename);1157 sum_report(rule->queue->severity, rule->queue->alias, 1158 counter->hostname, counter->counted_str, counter->filename); 1112 1159 counter->start = time(NULL); 1113 1160 counter->count = 0; … … 1131 1178 sh_string_str(record->host), 1132 1179 sh_string_str(record->message)); 1133 msg_report(queue->severity, rule, record);1180 msg_report(queue->severity, queue->alias, rule, record); 1134 1181 retval = 0; 1135 1182 } … … 1177 1224 { 1178 1225 DEBUG("debug: (%lu) no rule found\n", i); ++i; 1179 msg_report(DEFAULT_SEVERITY, NULL, record);1226 msg_report(DEFAULT_SEVERITY, NULL, NULL, record); 1180 1227 } 1181 1228
Note:
See TracChangeset
for help on using the changeset viewer.