src/server/daemon/log.c

changeset 82
740cfd9dd443
parent 79
f48cea237ec3
child 87
bdec069d2239
equal deleted inserted replaced
81:d25825f37967 82:740cfd9dd443
203 203
204 /* 204 /*
205 * log api functions 205 * log api functions
206 */ 206 */
207 207
208 int log_ereport(int degree, const char *format, ...) { 208 int log_ereport(int degree, const char *format, ...) {
209 va_list args;
210 va_start(args, format);
211 int ret = log_ereport_v(degree, format, args);
212 va_end(args);
213 return ret;
214 }
215
216 int log_ereport_v(int degree, const char *format, va_list args) {
209 if(degree > 6) { 217 if(degree > 6) {
210 return 0; 218 return 0;
211 } 219 }
212 if(degree > 0 && !can_log[degree]) { 220 if(degree > 0 && !can_log[degree]) {
213 return 0; 221 return 0;
214 } 222 }
215 223
216 sstr_t lmsg; 224 sstr_t lmsg;
217 lmsg.ptr = NULL; 225 lmsg.ptr = NULL;
218 va_list ap;
219 va_start(ap, format);
220 226
221 /* create log message prefix */ 227 /* create log message prefix */
222 sstr_t lpre = log_get_prefix(degree); 228 sstr_t lpre = log_get_prefix(degree);
223 229
224 /* format message */ 230 /* format message */
225 int len = vasprintf(&lmsg.ptr, format, ap); 231 int len = vasprintf(&lmsg.ptr, format, args);
226 lmsg.length = len; 232 lmsg.length = len;
227 233
228 /* create message string */ 234 /* create message string */
229 sstr_t message; 235 sstr_t message;
230 message.length = lpre.length + len; 236 message.length = lpre.length + len;
239 free(lmsg.ptr); 245 free(lmsg.ptr);
240 free(lpre.ptr); 246 free(lpre.ptr);
241 free(message.ptr); 247 free(message.ptr);
242 248
243 return 0; 249 return 0;
250 }
251
252 int log_error(int degree, const char *func, Session *sn, Request *rq,
253 const char *format, ...)
254 {
255 va_list args;
256 va_start(args, format);
257 int ret = log_error_v(degree, func, sn, rq, format, args);
258 va_end(args);
259 return ret;
260 }
261
262 int log_error_v(int degree, const char *func, Session *sn, Request *rq,
263 const char *format, va_list args)
264 {
265 // TODO: implement
266 return log_ereport(degree, format, args);
244 } 267 }
245 268
246 269
247 /* 270 /*
248 * access log 271 * access log

mercurial