diff --git a/platform/src/tcp_stream.cpp b/platform/src/tcp_stream.cpp index aeccd8f..279173b 100644 --- a/platform/src/tcp_stream.cpp +++ b/platform/src/tcp_stream.cpp @@ -1178,7 +1178,7 @@ static void __steering_stream_bev_eventcb(struct bufferevent *bev, short events, errno_to_string(errno) ); - enum tfe_conn_dir conn_dir = (bev == _stream->conn_fake_c->bev) ? CONN_DIR_DOWNSTREAM : CONN_DIR_UPSTREAM; + enum tfe_conn_dir conn_dir = (bev == _stream->conn_fake_c->bev) ? CONN_DIR_UPSTREAM : CONN_DIR_DOWNSTREAM; if (events & BEV_EVENT_ERROR) { __stream_log_event(_stream, EVENT_LOG_CLOSE_BY_FACKFD_ERROR, conn_dir, errno, errno_to_string(errno)); @@ -1357,7 +1357,23 @@ void __stream_access_log_write(struct tfe_stream_private * stream) for(unsigned int i = 0; i < stream->nr_log_event; i++) { struct tfe_stream_event_log * ev_log = &stream->log_event[i]; - const char * str_dir = ev_log->dir == CONN_DIR_DOWNSTREAM ? "DOWN" : "UP"; + const char * str_dir; + switch (ev_log->type) + { + case EVENT_LOG_CLOSE_BY_FD_PEER: /* FALLTHROUGH */ + case EVENT_LOG_CLOSE_BY_FD_EOF: /* FALLTHROUGH */ + case EVENT_LOG_CLOSE_BY_FD_ERROR: /* FALLTHROUGH */ + case EVENT_LOG_CLOSE_BY_SSL_ERROR: /* FALLTHROUGH */ + str_dir = ev_log->dir == CONN_DIR_DOWNSTREAM ? "DOWN" : "UP"; + break; + case EVENT_LOG_CLOSE_BY_FACKFD_EOF: /* FALLTHROUGH */ + case EVENT_LOG_CLOSE_BY_FACKFD_ERROR: /* FALLTHROUGH */ + str_dir = ev_log->dir == CONN_DIR_DOWNSTREAM ? "SERVER" : "CLIENT"; + break; + default: + str_dir = ""; + break; + } offset += snprintf(str_log_event + offset, sizeof(str_log_event) - offset, "%s/%s/%s ", __str_stream_log_type(ev_log->type), str_dir, ev_log->str_error); } @@ -1384,11 +1400,11 @@ void __ev_log_to_stat_map_init() ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_SSL_ERROR][CONN_DIR_DOWNSTREAM] = STAT_STREAM_CLS_DOWN_ERR; ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_SSL_ERROR][CONN_DIR_UPSTREAM] = STAT_STREAM_CLS_UP_ERR; - ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_EOF][CONN_DIR_DOWNSTREAM] = STAT_STEERING_CLIENT_EOF; - ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_EOF][CONN_DIR_UPSTREAM] = STAT_STEERING_SERVER_EOF; + ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_EOF][CONN_DIR_DOWNSTREAM] = STAT_STEERING_SERVER_EOF; + ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_EOF][CONN_DIR_UPSTREAM] = STAT_STEERING_CLIENT_EOF; - ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_ERROR][CONN_DIR_DOWNSTREAM] = STAT_STEERING_CLIENT_ERR; - ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_ERROR][CONN_DIR_UPSTREAM] = STAT_STEERING_SERVER_ERR; + ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_ERROR][CONN_DIR_DOWNSTREAM] = STAT_STEERING_SERVER_ERR; + ev_log_to_stat_map[EVENT_LOG_CLOSE_BY_FACKFD_ERROR][CONN_DIR_UPSTREAM] = STAT_STEERING_CLIENT_ERR; } void __stream_close_stat(struct tfe_stream_private * stream)