예제 #1
0
파일: logger.c 프로젝트: aniapte/sniproxy
static void
vlog_msg(struct Logger *logger, int priority, const char *format, va_list args) {
    char buffer[1024];

    if (logger == NULL) {
        init_default_logger();

        vlog_msg(default_logger, priority, format, args);
        return;
    }

    if (priority > logger->priority)
        return;

    if (logger->fd) {
        /* file logger */
        time_t t = time(NULL);
        struct tm *tmp = localtime(&t);
        size_t len = strftime(buffer, sizeof(buffer), "%F %T ", tmp);
        vsnprintf(buffer + len, sizeof(buffer) - len, format, args);
        fprintf(logger->fd, "%s\n", buffer);
    } else {
        openlog(logger->ident, LOG_PID, logger->facility);
        vsyslog(priority, format, args);
        closelog();
    }
}
예제 #2
0
파일: sysdep.c 프로젝트: jimboman77/MJ
int log_error(const char *function, const char *file, const int line, const char *format,...) {
  char nformat[1024];
  va_list args;
  sprintf(nformat,"Error occurred in %s(), at %s:%d\n",function,file,line);
  strmcat(nformat,format,1023-(strlen(nformat)+strlen(format)));
  va_start(args,format);
  return vlog_msg(LogError,nformat,args);
}
예제 #3
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
debug(const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(default_logger, LOG_DEBUG, format, args);
    va_end(args);
}
예제 #4
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
notice(const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(default_logger, LOG_NOTICE, format, args);
    va_end(args);
}
예제 #5
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
info(const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(default_logger, LOG_INFO, format, args);
    va_end(args);
}
예제 #6
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
warn(const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(default_logger, LOG_WARNING, format, args);
    va_end(args);
}
예제 #7
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
err(const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(default_logger, LOG_ERR, format, args);
    va_end(args);
}
예제 #8
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
log_msg(struct Logger *logger, int priority, const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(logger, priority, format, args);
    va_end(args);
}
예제 #9
0
파일: log.c 프로젝트: kaspermeerts/kosmos
void log_dbg(const char *format, ...)
{
	va_list args;

	va_start(args, format);
	vlog_msg(format, args);
	va_end(args);
}
예제 #10
0
파일: logger.c 프로젝트: aniapte/sniproxy
void
fatal(const char *format, ...) {
    va_list args;

    va_start(args, format);
    vlog_msg(default_logger, LOG_CRIT, format, args);
    va_end(args);

    exit(EXIT_FAILURE);
}
예제 #11
0
파일: sysdep.c 프로젝트: jimboman77/MJ
int info(char *format,...) {
  va_list args;
  va_start(args,format);
  return vlog_msg(LogInfo,format,args);
}
예제 #12
0
파일: sysdep.c 프로젝트: jimboman77/MJ
int warn(char *format,...) {
  va_list args;
  va_start(args,format);
  return vlog_msg(LogWarning,format,args);
}
예제 #13
0
파일: sysdep.c 프로젝트: jimboman77/MJ
int log_msg(LogLevel l,char *format,...) {
  va_list args;
  va_start(args,format);
  return vlog_msg(l,format,args);
}