File:  [ELWIX - Embedded LightWeight unIX -] / mqtt / src / logmqtt.c
Revision 1.1.2.2: download - view: text, annotated - select for diffs - revision graph
Wed Nov 23 14:51:14 2011 UTC (12 years, 7 months ago) by misho
Branches: mqtt1_0
add log rtlm support

    1: #include "global.h"
    2: 
    3: 
    4: /*
    5:  * mqtt_rtlm_log() Log message
    6:  *
    7:  * @fmt = format string
    8:  * @... = argument list
    9:  * return: none
   10:  */
   11: static void
   12: mqtt_rtlm_log(const char *fmt, ...)
   13: {
   14: 	va_list lst;
   15: 
   16: 	va_start(lst, fmt);
   17: 	vsyslog(LOG_ERR, fmt, lst);
   18: 	va_end(lst);
   19: }
   20: #define MQTT_RTLM_LOG()	(mqtt_rtlm_log("Error:: System #%d - %s", errno, strerror(errno)))
   21: 
   22: 
   23: /*
   24:  * mqtt_rtlm_open() Open log file
   25:  *
   26:  * @cfg = loaded config
   27:  * return: NULL error or SQL handle
   28:  */
   29: FILE *
   30: mqtt_rtlm_open(sl_config *cfg)
   31: {
   32: 	FILE *f = NULL;
   33: 	const char *str = NULL;
   34: 
   35: 	if (!cfg)
   36: 		return NULL;
   37: 
   38: 	str = (const char*) cfg_GetAttribute(cfg, CFG("mqtt_log"), CFG("name"));
   39: 	if (!str) {
   40: 		mqtt_rtlm_log("Error:: Unknown file name ...\n");
   41: 		return NULL;
   42: 	}
   43: 
   44: 	if (!(f = fopen(str, "a"))) {
   45: 		MQTT_RTLM_LOG();
   46: 		return NULL;
   47: 	}
   48: 
   49: 	return f;
   50: }
   51: 
   52: /*
   53:  * mqtt_rtlm_close() Close log file
   54:  *
   55:  * @f = File handle
   56:  * return: none
   57:  */
   58: void
   59: mqtt_rtlm_close(FILE *f)
   60: {
   61: 	if (f)
   62: 		fclose(f);
   63: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>