cl_log_set_logd_channel_source(NULL, NULL);
crm_set_env_options(void) {	char *param_val = NULL;	const char *param_name = NULL;	/* apparently we're not allowed to free the result of getenv */		param_name = ENV_PREFIX "" KEY_DEBUGLEVEL;	param_val = getenv(param_name);	crm_debug("%s = %s", param_name, param_val);	if(param_val != NULL) {		int debug_level = atoi(param_val);		if(debug_level > 0 && (debug_level+LOG_INFO) > (int)crm_log_level) {			set_crm_log_level(LOG_INFO + debug_level);		}		param_val = NULL;	}	param_name = ENV_PREFIX "" KEY_FACILITY;	param_val = getenv(param_name);	crm_debug("%s = %s", param_name, param_val);	if(param_val != NULL) {		int facility = crm_logfacility_from_name(param_val);		if(facility > 0) {			cl_log_set_facility(facility);		}		param_val = NULL;	}	param_name = ENV_PREFIX "" KEY_LOGFILE;	param_val = getenv(param_name);	crm_debug("%s = %s", param_name, param_val);	if(param_val != NULL) {		if(safe_str_eq("/dev/null", param_val)) {			param_val = NULL;		}		cl_log_set_logfile(param_val);		param_val = NULL;	}		param_name = ENV_PREFIX "" KEY_DBGFILE;	param_val = getenv(param_name);	crm_debug("%s = %s", param_name, param_val);	if(param_val != NULL) {		if(safe_str_eq("/dev/null", param_val)) {			param_val = NULL;		}		cl_log_set_debugfile(param_val);		param_val = NULL;	}		param_name = ENV_PREFIX "" KEY_LOGDAEMON;	param_val = getenv(param_name);	crm_debug("%s = %s", param_name, param_val);	if(param_val != NULL) {		crm_str_to_boolean(param_val, &use_logging_daemon);		if(use_logging_daemon) {			cl_set_logging_wqueue_maxlen(500);		}		param_val = NULL;	}	param_name = ENV_PREFIX "" KEY_CONNINTVAL;	param_val = getenv(param_name);	crm_debug("%s = %s", param_name, param_val);	if(param_val != NULL) {		conn_logd_intval = crm_get_msec(param_val);		param_val = NULL;	}	}