Ejemplo n.º 1
0
/**
 * log_msg
 * @brief Log messages to rtas_errd_log
 *
 * @param event reference to event
 * @param fmt formatted string a la printf()
 * @param ... additional args a la printf()
 */
void
log_msg(struct event *event, char *fmt, ...)
{
    va_list ap;

    va_start(ap, fmt);
    _log_msg(event, fmt, ap);
    va_end(ap);
}
Ejemplo n.º 2
0
/**
 * cfg_log
 * @brief dummy interface for calls to diag_cfg
 *
 * @param fmt formatted string a la printf()
 * @param ... additional args a la printf()
 */
void
cfg_log(char *fmt, ...)
{
    va_list ap;

    va_start(ap, fmt);
    _log_msg(NULL, fmt, ap);
    va_end(ap);
}
Ejemplo n.º 3
0
Archivo: log.c Proyecto: dnstap/knot
int log_vmsg(logsrc_t src, int level, const char *msg, va_list ap)
{
	int ret = 0;
	char buf[2048];
	ret = vsnprintf(buf, sizeof(buf) - 1, msg, ap);

	if (ret > 0) {
		ret = _log_msg(src, level, buf);
	}

	return ret;
}
Ejemplo n.º 4
0
Archivo: log.c Proyecto: dnstap/knot
int log_msg(logsrc_t src, int level, const char *msg, ...)
{
	/* Buffer for log message. */
	char sbuf[4096];
	char *buf = sbuf;
	int buflen = sizeof(sbuf) - 1;

	/* Prefix error level. */
	const char *prefix = "";
	switch (level) {
	case LOG_DEBUG:   prefix = "[debug] "; break;
	case LOG_INFO:    prefix = ""; break;
	case LOG_NOTICE:  prefix = "[notice] "; break;
	case LOG_WARNING: prefix = "[warning] "; break;
	case LOG_ERR:     prefix = "[error] "; break;
	case LOG_FATAL:   prefix = "[fatal] "; break;
	default: break;
	}

	/* Prepend prefix. */
	int plen = strlen(prefix);
	if (plen > buflen) {
		return KNOT_ENOMEM;
	}
	if (plen > 0) {
		strncpy(buf, prefix, plen + 1);
		buf += plen;
		buflen -= plen;
	}

	/* Compile log message. */
	int ret = 0;
	va_list ap;
	va_start(ap, msg);
	ret = vsnprintf(buf, buflen, msg, ap);
	va_end(ap);

	/* Send to logging facilities. */
	if (ret > 0) {
		ret = _log_msg(src, level, sbuf);
	}

	return ret;
}
Ejemplo n.º 5
0
		virtual zn_log &log(const std::string &msg)
		{
			_log_msg("DEBUG", msg);
			return *this;
		}