| 38 | } |
| 39 | |
| 40 | static void msg_info(PROBE_SERVER *server, const char *fmt, ...) |
| 41 | { |
| 42 | const char *myname = "msg_info"; |
| 43 | va_list ap; |
| 44 | static char buf[4096]; |
| 45 | |
| 46 | if (server == NULL) |
| 47 | acl_msg_fatal("%s: server null", myname); |
| 48 | if (fmt == NULL) |
| 49 | acl_msg_fatal("%s: fmt null", myname); |
| 50 | |
| 51 | va_start(ap, fmt); |
| 52 | acl_vsnprintf(buf, sizeof(buf), fmt, ap); |
| 53 | va_end(ap); |
| 54 | |
| 55 | server->time_end = time(NULL); |
| 56 | server->time_total_cost = server->time_end - server->time_begin; |
| 57 | |
| 58 | if (server->logfp != NULL) { |
| 59 | char fmtstr[128]; |
| 60 | |
| 61 | acl_logtime_fmt(fmtstr, sizeof(fmtstr)); |
| 62 | acl_vstream_fprintf(server->logfp, "%s: <%s> addr(%s), url(%s)," |
| 63 | " time(%ld), content_length(%lld), reply_status(%d), %s\n", |
| 64 | fmtstr, (server->warn_time > 0 && server->time_total_cost |
| 65 | >= server->warn_time) ? "WARN" : "INFO", |
| 66 | server->addr, server->url, server->time_total_cost, |
| 67 | server->hdr_res->hdr.chunked |
| 68 | ? -1 : server->hdr_res->hdr.content_length, |
| 69 | server->hdr_res->reply_status, buf); |
| 70 | } else |
| 71 | acl_msg_info("<%s> addr(%s), url(%s), time(%ld), " |
| 72 | "content_length(%lld), reply_status(%d), %s", |
| 73 | (server->warn_time > 0 && server->time_total_cost |
| 74 | >= server->warn_time) ? "WARN" : "INFO", |
| 75 | server->addr, server->url, server->time_total_cost, |
| 76 | server->hdr_res->hdr.chunked |
| 77 | ? -1 : server->hdr_res->hdr.content_length, |
| 78 | server->hdr_res->reply_status, buf); |
| 79 | } |
| 80 | |
| 81 | static void msg_error(PROBE_SERVER *server, const char *fmt, ...) |
| 82 | { |
no test coverage detected
searching dependent graphs…