Changeset 8285


Ignore:
Timestamp:
02/04/13 14:19:34 (9 years ago)
Author:
gf
Message:

Add "logduplicatelines" setting in [global] settings.

Setting logduplicatelines to 1 disables detection of duplicated
lines in the log.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/globals.h

    r8282 r8285  
    15151515    uint8_t         logtostdout;
    15161516    uint8_t         logtosyslog;
     1517    int8_t          logduplicatelines;
    15171518#if defined(WEBIF) || defined(MODULE_MONITOR)
    15181519    uint32_t        loghistorysize;
  • trunk/module-webif-pages.c

    r8233 r8285  
    17541754                </TD>\n\
    17551755            </TR>\n\
     1756            <TR><TD>##TPLHELPPREFIX##conf#logduplicatelines##TPLHELPSUFFIX##Log duplicated lines:</A></TD><TD><SELECT NAME=\"logduplicatelines\"><OPTION VALUE=\"0\">NO</OPTION><OPTION VALUE=\"1\" ##LOGDUPSCHECKED##>YES</OPTION></SELECT></TD></TR>\n\
    17561757            <TR><TD>##TPLHELPPREFIX##conf#pidfile##TPLHELPSUFFIX##Pidfile:</A></TD><TD><input name=\"pidfile\" type=\"text\" size=\"55\" maxlength=\"128\" value=\"##PIDFILE##\"></TD></TR>\n\
    17571758            <TR><TD>##TPLHELPPREFIX##conf#cwlogdir##TPLHELPSUFFIX##CW log dir:</A></TD><TD><input name=\"cwlogdir\" type=\"text\" size=\"55\" maxlength=\"128\" value=\"##CWLOGDIR##\"></TD></TR>\n\
  • trunk/module-webif.c

    r8282 r8285  
    282282    if(cfg.disablelog == 1) tpl_addVar(vars, TPLADD, "DISABLELOGCHECKED", "selected");
    283283    tpl_printf(vars, TPLADD, "MAXLOGSIZE", "%d", cfg.max_log_size);
     284
     285    if (cfg.logduplicatelines)
     286        tpl_addVar(vars, TPLADD, "LOGDUPSCHECKED", "selected");
    284287
    285288    if (cfg.cwlogdir != NULL) tpl_addVar(vars, TPLADD, "CWLOGDIR", cfg.cwlogdir);
  • trunk/oscam-config-global.c

    r8224 r8285  
    217217    DEF_OPT_FUNC("serverip"                 , OFS(srvip),               serverip_fn ),
    218218    DEF_OPT_FUNC("logfile"                  , OFS(logfile),             logfile_fn ),
     219    DEF_OPT_INT8("logduplicatelines"        , OFS(logduplicatelines),   0 ),
    219220    DEF_OPT_STR("pidfile"                   , OFS(pidfile),             NULL ),
    220221    DEF_OPT_INT8("disableuserfile"          , OFS(disableuserfile),     1 ),
  • trunk/oscam-log.c

    r8282 r8285  
    337337            vsnprintf(log_txt + len, sizeof(log_txt) - len, fmt, params);
    338338            va_end(params);
    339             repeated_line = strcmp(last_log_txt, log_txt + len) == 0;
    340             if (last_log_duplicates > 0) {
    341                 if (!last_log_ts) // Must be initialized once
    342                     last_log_ts = log_ts;
    343                 // Report duplicated lines when the new log line is different
    344                 // than the old or 60 seconds have passed.
    345                 if (!repeated_line || log_ts - last_log_ts >= 60) {
    346                     dupl_header_len = get_log_header(2, dupl);
    347                     snprintf(dupl + dupl_header_len - 1, sizeof(dupl) - dupl_header_len, "--- Skipped %u duplicated log lines ---", last_log_duplicates);
    348                     write_to_log_int(dupl, 0);
    349                     last_log_duplicates = 0;
    350                     last_log_ts = log_ts;
    351                 }
    352             }
    353             if (!repeated_line) {
     339            if (cfg.logduplicatelines) {
    354340                memcpy(last_log_txt, log_txt + len, LOG_BUF_SIZE);
    355341                write_to_log_int(log_txt, len);
    356342            } else {
    357                 last_log_duplicates++;
     343                repeated_line = strcmp(last_log_txt, log_txt + len) == 0;
     344                if (last_log_duplicates > 0) {
     345                    if (!last_log_ts) // Must be initialized once
     346                        last_log_ts = log_ts;
     347                    // Report duplicated lines when the new log line is different
     348                    // than the old or 60 seconds have passed.
     349                    if (!repeated_line || log_ts - last_log_ts >= 60) {
     350                        dupl_header_len = get_log_header(2, dupl);
     351                        snprintf(dupl + dupl_header_len - 1, sizeof(dupl) - dupl_header_len, "--- Skipped %u duplicated log lines ---", last_log_duplicates);
     352                        write_to_log_int(dupl, 0);
     353                        last_log_duplicates = 0;
     354                        last_log_ts = log_ts;
     355                    }
     356                }
     357                if (!repeated_line) {
     358                    memcpy(last_log_txt, log_txt + len, LOG_BUF_SIZE);
     359                    write_to_log_int(log_txt, len);
     360                } else {
     361                    last_log_duplicates++;
     362                }
    358363            }
    359364        }
Note: See TracChangeset for help on using the changeset viewer.