Exemple #1
0
void maRequestError(MaRequest *rq, int code, char *fmt, ...) 
{
	va_list		ap;
	char		buf[MPR_MAX_STRING];

	va_start(ap, fmt);
	mprVsprintf(buf, sizeof(buf), fmt, ap);
	rq->requestError(code, buf);
	va_end(ap);
}
Exemple #2
0
void mprTrace(int level, char* fmt, ...) 
{
	va_list		ap;
	char		buf[MPR_MAX_STRING];
	int			len;

	va_start(ap, fmt);
	len = mprVsprintf(buf, sizeof(buf), fmt, ap);
	mprLog(level, buf);
	va_end(ap);
}
Exemple #3
0
void mprStaticError(MPR_LOC_DEC(ctx, loc), const char *fmt, ...)
{
	va_list		args;
	int			len;
	char		buf[MPR_MAX_STRING];

	va_start(args, fmt);
	len = mprVsprintf(buf, sizeof(buf), fmt, args);
	va_end(args);

	logOutput(MPR_LOC_PASS(ctx, loc), MPR_ERROR_MSG | MPR_ERROR_SRC, 0, buf);
}
Exemple #4
0
int maWriteFmt(MaRequest *rq, char* fmt, ...) 
{
	va_list		ap;
	char		buf[MPR_MAX_STRING];
	int			rc, len;

	va_start(ap, fmt);
	len = mprVsprintf(buf, sizeof(buf), fmt, ap);
	rc = rq->write(buf, len);
	va_end(ap);
	return rc;
}
Exemple #5
0
void mprError(char *file, int line, int flags, char *fmt, ...)
{
	va_list		args;

	va_start(args, fmt);
#if BLD_FEATURE_LOG
	if (defaultLog) {
		defaultLog->error(file, line, flags, fmt, args);
	}
#else
	char	buf[MPR_MAX_LOG_STRING];
	mprVsprintf(buf, sizeof(buf), fmt, args);
	mprFprintf(MPR_STDERR, "%s\n", buf);
#endif
	va_end(args);
}
Exemple #6
0
int MprBuf::putFmt(char *fmt, ...)
{
	va_list		vargs;
	char		buf[MPR_MAX_STRING];
	int			len;
	
	va_start(vargs, fmt);

	len = mprVsprintf(buf, MPR_MAX_STRING, fmt, vargs);
	if (len >= MPR_MAX_STRING) {
		mprLog(MPR_VERBOSE, " putFmt buffer overflow\n");
		va_end(vargs);
		return 0;
	}
	va_end(vargs);
	return put((uchar*) buf, len);
}
Exemple #7
0
void MprLogService::traceCore(int level, int flags, MprLogModule *mod, 
	char *fmt, va_list args)
{
	char	buf[MPR_MAX_LOG_STRING];
	int		len;

	if (mod == 0) {
		mod = defaultModule;
	}

	//
	//	Test the level here first up to quickly eliminate verbose trace levels
	//
	if ((level & MPR_LOG_MASK) <= mod->getLevel()) {
		int max = sizeof(buf) - 12;
		len = mprVsprintf(buf, max, fmt, args);
		if (len >= (max - 1)) {
			mprStrcpy(&buf[len], 12, " TRUNCATED\n");
		}
		output(mod, flags, level, buf);
	}
}
Exemple #8
0
void MprLogService::error(char *file, int line, int flags, char *fmt, 
	va_list args)
{
	static int	recurseGate = 0;
	Mpr			*mpr;
	char		msg[MPR_MAX_LOG_STRING], buf[MPR_MAX_LOG_STRING];

	mpr = mprGetMpr();

	//
	//	Errors post close
	//
#if BLD_FEATURE_MULTITHREAD
	if (mutex == 0) {
		return;
	}
#endif

	lock();
	if (recurseGate > 0) {
		unlock();
		return;
	}
	recurseGate++;

	mprVsprintf(msg, sizeof(msg), fmt, args);

	if (flags & MPR_TRAP) {
		mprSprintf(buf, sizeof(buf), "Assertion %s, failed (%s:%d)\n",
			msg, file, line);
		output(defaultModule, flags, MPR_ERROR, buf);
		// 
		//	Break to the debugger
		//
		breakpoint(file, line);

	} else if (flags & MPR_LOG) {
		//
		//	Write to both the O/S log and to the trace log
		//
		mprSprintf(buf, sizeof(buf), "Error: %s\n", msg);
		output(defaultModule, flags, MPR_ERROR, buf);
		if (mpr) {
			mpr->writeToOsLog(buf, flags | MPR_INFO);
		}

	} else if (flags & MPR_USER) {
		mprSprintf(buf, sizeof(buf), "Error: %s\n", msg);
		output(defaultModule, flags, MPR_ERROR, buf);
		if (mpr) {
			mpr->writeToOsLog(buf, flags | MPR_WARN);
		}

	} else if (flags & MPR_ALERT) {
		// FUTURE -- TBD 

	} else {
		mprAssert(0);
	}

	recurseGate--;
	unlock();
}