| 79 | } |
| 80 | |
| 81 | static void msg_error(PROBE_SERVER *server, const char *fmt, ...) |
| 82 | { |
| 83 | const char *myname = "msg_error"; |
| 84 | va_list ap; |
| 85 | static char buf[4096]; |
| 86 | |
| 87 | if (server == NULL) |
| 88 | acl_msg_fatal("%s: server null", myname); |
| 89 | if (fmt == NULL) |
| 90 | acl_msg_fatal("%s: fmt null", myname); |
| 91 | |
| 92 | va_start(ap, fmt); |
| 93 | acl_vsnprintf(buf, sizeof(buf), fmt, ap); |
| 94 | va_end(ap); |
| 95 | |
| 96 | server->time_end = time(NULL); |
| 97 | server->time_total_cost = server->time_end - server->time_begin; |
| 98 | |
| 99 | if (server->logfp != NULL) { |
| 100 | char fmtstr[128]; |
| 101 | |
| 102 | acl_logtime_fmt(fmtstr, sizeof(fmtstr)); |
| 103 | acl_vstream_fprintf(server->logfp, |
| 104 | "%s, %s: <%s> addr(%s), url(%s), time(%ld), %s\n", |
| 105 | myname, fmtstr, (server->warn_time > 0 |
| 106 | && server->time_total_cost |
| 107 | >= server->warn_time) ? "WARN" : "INFO", |
| 108 | server->addr, server->url, server->time_total_cost, buf); |
| 109 | } else |
| 110 | acl_msg_error("%s <%s> addr(%s), url(%s), time(%ld), %s", |
| 111 | myname, (server->warn_time > 0 |
| 112 | && server->time_total_cost |
| 113 | >= server->warn_time) ? "WARN" : "INFO", |
| 114 | server->addr, server->url, server->time_total_cost, buf); |
| 115 | } |
| 116 | |
| 117 | static int get_body_ready(int status, char *data acl_unused, |
| 118 | int dlen acl_unused, void *arg) |
no test coverage detected
searching dependent graphs…