int xlog_2(struct sip_msg* msg, char* lev, char* frm) { int log_len; long level; xl_level_p xlp; pv_value_t value; xlp = (xl_level_p)lev; if(xlp->type==1) { if(pv_get_spec_value(msg, &xlp->v.sp, &value)!=0 || value.flags&PV_VAL_NULL || !(value.flags&PV_VAL_INT)) { LM_ERR("invalid log level value [%d]\n", value.flags); return -1; } level = (long)value.ri; } else { level = xlp->v.level; } if(!is_printable((int)level)) return 1; log_len = xlog_buf_size; if(xl_print_log(msg, (pv_elem_t*)frm, &log_len)<0) return -1; /* log_buf[log_len] = '\0'; */ LM_GEN1((int)level, "%.*s", log_len, log_buf); return 1; }
static inline int xlog_helper(struct sip_msg* msg, xl_msg_t *xm, int level, int line, int facility) { str txt; txt.len = buf_size; if(xl_print_log(msg, xm->m, _xlog_buf, &txt.len)<0) return -1; txt.s = _xlog_buf; /* if facility is not explicitely defined use the xlog default facility */ if (facility==NOFACILITY) { facility = xlog_facility; } if(line>0) if(long_format==1) LOG_(facility, level, _xlog_prefix, "%s:%d:%.*s", (xm->a)?(((xm->a->cfile)?xm->a->cfile:"")):"", (xm->a)?xm->a->cline:0, txt.len, txt.s); else LOG_(facility, level, _xlog_prefix, "%d:%.*s", (xm->a)?xm->a->cline:0, txt.len, txt.s); else LOG_(facility, level, _xlog_prefix, "%.*s", txt.len, txt.s); return 1; }
static int xdbg(struct sip_msg* msg, char* frm, char* str2) { int log_len; log_len = buf_size; if(xl_print_log(msg, (xl_elog_t*)frm, log_buf, &log_len)<0) return -1; /* log_buf[log_len] = '\0'; */ LOG_(L_DBG, "<script>: ", "%.*s", log_len, log_buf); return 1; }
static int xlog(struct sip_msg* msg, char* lev, char* frm) { int log_len; log_len = buf_size; if(xl_print_log(msg, (xl_elog_t*)frm, log_buf, &log_len)<0) return -1; /* log_buf[log_len] = '\0'; */ LOG((int)(long)lev, "%.*s", log_len, log_buf); return 1; }
int xdbg(struct sip_msg* msg, char* frm, char* str2) { int log_len; if(!is_printable(L_DBG)) return 1; log_len = xlog_buf_size; if(xl_print_log(msg, (pv_elem_t*)frm, &log_len)<0) return -1; /* log_buf[log_len] = '\0'; */ LM_GEN1(L_DBG, "%.*s", log_len, log_buf); return 1; }
static int xlog(struct sip_msg* msg, char* lev, char* frm) { int log_len, level; if (get_int_fparam(&level, msg, (fparam_t *)lev)) { LOG(L_ERR, "XLOG:xlog: cannot get log level\n"); return -1; } if (level < L_ALERT) level = L_ALERT; else if (level > L_DBG) level = L_DBG; log_len = buf_size; if(xl_print_log(msg, (xl_elog_t*)frm, log_buf, &log_len)<0) return -1; /* log_buf[log_len] = '\0'; */ LOG_(level, "<script>: ", "%.*s", log_len, log_buf); return 1; }