Ejemplo n.º 1
0
static void display_line_log_(log_stream_t *p_log, const char *tag,
                              const char *format, ...)
{
    va_list args;
    va_start(args, format);
    display_line_log(p_log, tag, format, args);
    va_end(args);
}
Ejemplo n.º 2
0
void DisplayChangelogs(const char *format, ...)
{
    va_list args;

    /* Bail out if no file defined */
    if (EMPTY_STRING(log_config.changelogs_file))
        return;

    va_start(args, format);
    display_line_log(&chglogs, NULL, format, args);
    va_end(args);
}
Ejemplo n.º 3
0
void DisplayReport(const char *format, ...)
{
    va_list args;

    va_start(args, format);
    display_line_log(&report, NULL, format, args);
    va_end(args);

    /* always flush reports, because we don't want to lose events */
    flush_log_descr(&report);

}   /* DisplayReport */
Ejemplo n.º 4
0
void vDisplayLogFn(log_level debug_level, const char *tag, const char *format,
                   va_list ap)
{
    time_t now = time(NULL);

    if (log_config.debug_level >= debug_level) {
        display_line_log(&log, tag, format, ap);

        /* test if it's time to flush.
         * Also flush major errors, to display it immediately. */
        if ((now - last_time_flush_log) > TIME_FLUSH_LOG
            || debug_level >= LVL_MAJOR) {
            flush_log_descr(&log);
            last_time_flush_log = now;
        }
    }
}
Ejemplo n.º 5
0
void RaiseAlert(const char *title, const char *format, ...)
{
    va_list     args;
    char        mail[MAX_MAIL_LEN];
    char        title2[1024];
    int         written;
    time_t      now = time(NULL);
    struct tm   date;

    log_init_check();

    /* send alert mail, if an address was specified in config file */
    if (!EMPTY_STRING(log_config.alert_mail)) {
        localtime_r(&now, &date);
        written = snprintf(mail, MAX_MAIL_LEN,
                           "===== %s =====\n"
                           "Date: %.4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
                           "Program: %s (pid %lu)\n"
                           "Host: %s\n"
                           "Filesystem: %s\n",
                           title, 1900 + date.tm_year, date.tm_mon + 1,
                           date.tm_mday, date.tm_hour, date.tm_min, date.tm_sec,
                           prog_name, (unsigned long)getpid(), machine_name,
                           global_config.fs_path);

        va_start(args, format);
        vsnprintf(mail + written, MAX_MAIL_LEN - written, format, args);
        va_end(args);

        snprintf(title2, 1024, "%s (%s on %s)", title, global_config.fs_path,
                 machine_name);
        SendMail(log_config.alert_mail, title2, mail);
    }

    if (!EMPTY_STRING(log_config.alert_file)) {
        display_line_log_(&alert, "ALERT", "%s", title);
        va_start(args, format);
        display_line_log(&alert, "ALERT", format, args);
        va_end(args);

        /* always flush alerts, because we don't want to lose events */
        flush_log_descr(&alert);
    }

}   /* DisplayAlert */
Ejemplo n.º 6
0
void DisplayLog( int debug_level, const char *tag, const char *format, ... )
{
    time_t         now = time( NULL );
    va_list        args;

    if ( log_config.debug_level >= debug_level )
    {
        va_start( args, format );
        display_line_log( &log, tag, format, args );
        va_end( args );

        /* test if its time to flush. Also flush major errors, to display it immediately. */
        if ( (now - last_time_flush_log > TIME_FLUSH_LOG)
             || (debug_level >= LVL_MAJOR) )
        {
            flush_log_descr( &log );
            last_time_flush_log = now;
        }
    }
}                               /* DisplayLog */