Optimize log output

This commit is contained in:
luwenpeng
2024-10-24 16:22:18 +08:00
parent cb6f231935
commit e0b8732a15
6 changed files with 33 additions and 22 deletions

View File

@@ -88,6 +88,7 @@ int packet_dump_str(const struct packet *pkt, char *buff, int size)
used += snprintf(buff + used, size - used, "layer[%u]: %p, proto: %s, header: {offset: %u, ptr: %p, len: %u}, payload: {ptr: %p, len: %u}\n", used += snprintf(buff + used, size - used, "layer[%u]: %p, proto: %s, header: {offset: %u, ptr: %p, len: %u}, payload: {ptr: %p, len: %u}\n",
i, layer, layer_proto_to_str(layer->proto), layer->hdr_offset, i, layer, layer_proto_to_str(layer->proto), layer->hdr_offset,
layer->hdr_ptr, layer->hdr_len, layer->pld_ptr, layer->pld_len); layer->hdr_ptr, layer->hdr_len, layer->pld_ptr, layer->pld_len);
used += snprintf(buff + used, size - used, " ");
old = used; old = used;
switch (layer->proto) switch (layer->proto)
{ {
@@ -140,7 +141,7 @@ int packet_dump_str(const struct packet *pkt, char *buff, int size)
default: default:
break; break;
} }
if (old != used) if (old != used && i != pkt->layers_used - 1)
{ {
used += snprintf(buff + used, size - used, "\n"); used += snprintf(buff + used, size - used, "\n");
} }

View File

@@ -426,7 +426,7 @@ struct stellar_module *packet_manager_on_init(struct stellar_module_manager *mod
} }
stellar_module_set_ctx(pkt_mgr_mod, pkt_mgr); stellar_module_set_ctx(pkt_mgr_mod, pkt_mgr);
PACKET_MANAGER_LOG_FATAL("packet_manager initialized"); PACKET_MANAGER_LOG_FATAL("packet_manager init");
return pkt_mgr_mod; return pkt_mgr_mod;
} }
@@ -438,7 +438,7 @@ void packet_manager_on_exit(struct stellar_module_manager *mod_mgr __attribute__
packet_manager_free(pkt_mgr); packet_manager_free(pkt_mgr);
stellar_module_free(mod); stellar_module_free(mod);
PACKET_MANAGER_LOG_FATAL("packet_manager exited"); PACKET_MANAGER_LOG_FATAL("packet_manager exit");
} }
} }

View File

@@ -530,7 +530,7 @@ struct stellar_module *session_manager_on_init(struct stellar_module_manager *mo
} }
stellar_module_set_ctx(sess_mgr_mod, sess_mgr); stellar_module_set_ctx(sess_mgr_mod, sess_mgr);
SESSION_MANAGER_LOG_FATAL("session_manager initialized"); SESSION_MANAGER_LOG_FATAL("session_manager init");
return sess_mgr_mod; return sess_mgr_mod;
} }
@@ -542,7 +542,7 @@ void session_manager_on_exit(struct stellar_module_manager *mod_mgr __attribute_
session_manager_free(sess_mgr); session_manager_free(sess_mgr);
stellar_module_free(mod); stellar_module_free(mod);
SESSION_MANAGER_LOG_FATAL("session_manager exited"); SESSION_MANAGER_LOG_FATAL("session_manager exit");
} }
} }

View File

@@ -45,43 +45,43 @@ static void session_inputs_to_str(int inputs, char *buff, int len)
int nused = 0; int nused = 0;
if (inputs & TCP_SYN) if (inputs & TCP_SYN)
{ {
nused += snprintf(buff + nused, len - nused, "TCP_SYN "); nused += snprintf(buff + nused, len - nused, "TCP_SYN");
} }
if (inputs & TCP_SYN_ACK) if (inputs & TCP_SYN_ACK)
{ {
nused += snprintf(buff + nused, len - nused, "TCP_SYN_ACK "); nused += snprintf(buff + nused, len - nused, "TCP_SYN_ACK");
} }
if (inputs & TCP_FIN) if (inputs & TCP_FIN)
{ {
nused += snprintf(buff + nused, len - nused, "TCP_FIN "); nused += snprintf(buff + nused, len - nused, "TCP_FIN");
} }
if (inputs & TCP_RST) if (inputs & TCP_RST)
{ {
nused += snprintf(buff + nused, len - nused, "TCP_RST "); nused += snprintf(buff + nused, len - nused, "TCP_RST");
} }
if (inputs & TCP_DATA) if (inputs & TCP_DATA)
{ {
nused += snprintf(buff + nused, len - nused, "TCP_DATA "); nused += snprintf(buff + nused, len - nused, "TCP_DATA");
} }
if (inputs & UDP_DATA) if (inputs & UDP_DATA)
{ {
nused += snprintf(buff + nused, len - nused, "UDP_DATA "); nused += snprintf(buff + nused, len - nused, "UDP_DATA");
} }
if (inputs & TIMEOUT) if (inputs & TIMEOUT)
{ {
nused += snprintf(buff + nused, len - nused, "TIMEOUT "); nused += snprintf(buff + nused, len - nused, "TIMEOUT");
} }
if (inputs & LRU_EVICT) if (inputs & LRU_EVICT)
{ {
nused += snprintf(buff + nused, len - nused, "LRU_EVICT "); nused += snprintf(buff + nused, len - nused, "LRU_EVICT");
} }
if (inputs & PORT_REUSE_EVICT) if (inputs & PORT_REUSE_EVICT)
{ {
nused += snprintf(buff + nused, len - nused, "PORT_REUSE_EVICT "); nused += snprintf(buff + nused, len - nused, "PORT_REUSE_EVICT");
} }
if (inputs & USER_CLOSE) if (inputs & USER_CLOSE)
{ {
nused += snprintf(buff + nused, len - nused, "USER_CLOSE "); nused += snprintf(buff + nused, len - nused, "USER_CLOSE");
} }
} }

View File

@@ -241,21 +241,31 @@ static void packet_handler(u_char *user, const struct pcap_pkthdr *h, const u_ch
{ {
struct runtime *rte = (struct runtime *)user; struct runtime *rte = (struct runtime *)user;
char *ptr = (char *)calloc(1, h->caplen);
if (ptr == NULL)
{
PRINT_RED("calloc() failed");
return;
}
memcpy(ptr, bytes, h->caplen);
struct packet pkt; struct packet pkt;
memset(&pkt, 0, sizeof(pkt)); memset(&pkt, 0, sizeof(pkt));
packet_parse(&pkt, (const char *)bytes, h->caplen); packet_parse(&pkt, (const char *)ptr, h->caplen);
rte->pcap_count++; rte->pcap_count++;
if (rte->print_verbose) if (rte->print_verbose)
{ {
PRINT_GREEN("frame=%lu len=%u", rte->pcap_count, h->caplen); PRINT_GREEN("frame=%lu len=%u", rte->pcap_count, h->caplen);
packet_print(&pkt); packet_print(&pkt);
packet_dump_hex(&pkt, STDOUT_FILENO);
} }
if (rte->tshark_format) if (rte->tshark_format)
{ {
tshark_format(rte, &pkt); tshark_format(rte, &pkt);
} }
free(ptr);
} }
static void usage(char *cmd) static void usage(char *cmd)

View File

@@ -175,12 +175,12 @@ static void on_session_free(struct session *sess, void *arg)
char buff[PATH_MAX] = {0}; char buff[PATH_MAX] = {0};
session_to_str(exdata->sess, 0, buff, sizeof(buff) - 1); session_to_str(exdata->sess, 0, buff, sizeof(buff) - 1);
session_debugger_log(exdata->dbg->fd, "sess free: %s", buff); session_debugger_log(exdata->dbg->fd, "session free: %s", buff);
snprintf(buff, sizeof(buff), snprintf(buff, sizeof(buff),
"==========================================================\n" "==========================================================\n"
"C2S Data Packets : %6lu | C2S Data Bytes : %6lu\n" "C2S Data Packets : %6lu | C2S Data Bytes : %6lu\n"
"S2C Data Packets : %6lu | S2C Data Bytes : %6lu\n" "S2C Data Packets : %6lu | S2C Data Bytes : %6lu\n"
"----------------------------------------------------------\n" "----------------------------------------------------------\n"
"C2S Control Packets : %6lu | C2S Control Bytes : %6lu\n" "C2S Control Packets : %6lu | C2S Control Bytes : %6lu\n"
"S2C Control Packets : %6lu | S2C Control Bytes : %6lu\n" "S2C Control Packets : %6lu | S2C Control Bytes : %6lu\n"
@@ -189,7 +189,7 @@ static void on_session_free(struct session *sess, void *arg)
"S2C TCP Segments : %6lu | S2C TCP Bytes : %6lu\n" "S2C TCP Segments : %6lu | S2C TCP Bytes : %6lu\n"
"----------------------------------------------------------\n" "----------------------------------------------------------\n"
"C2S UDP Payload : %6lu | C2S UDP Bytes : %6lu\n" "C2S UDP Payload : %6lu | C2S UDP Bytes : %6lu\n"
"S2C UDP Payload : %6lu | S2C UDP Bytes : %6lu\n", "S2C UDP Payload : %6lu | S2C UDP Bytes : %6lu",
exdata->c2s_rx_data_pkts, exdata->c2s_rx_data_bytes, exdata->c2s_rx_data_pkts, exdata->c2s_rx_data_bytes,
exdata->s2c_rx_data_pkts, exdata->s2c_rx_data_bytes, exdata->s2c_rx_data_pkts, exdata->s2c_rx_data_bytes,
exdata->c2s_rx_ctrl_pkts, exdata->c2s_rx_ctrl_bytes, exdata->c2s_rx_ctrl_pkts, exdata->c2s_rx_ctrl_bytes,
@@ -438,7 +438,7 @@ struct stellar_module *session_debugger_on_init(struct stellar_module_manager *m
} }
stellar_module_set_ctx(dbg_mod, dbg); stellar_module_set_ctx(dbg_mod, dbg);
STELLAR_LOG_FATAL(dbg->logger, "session debugger", "session_debugger initialized") STELLAR_LOG_FATAL(dbg->logger, "session debugger", "session_debugger init")
return dbg_mod; return dbg_mod;
} }
@@ -450,7 +450,7 @@ void session_debugger_on_exit(struct stellar_module_manager *mod_mgr, struct ste
struct session_debugger *dbg = stellar_module_get_ctx(mod); struct session_debugger *dbg = stellar_module_get_ctx(mod);
if (dbg) if (dbg)
{ {
STELLAR_LOG_FATAL(dbg->logger, "session debugger", "session_debugger exited") STELLAR_LOG_FATAL(dbg->logger, "session debugger", "session_debugger exit")
session_debugger_free(dbg); session_debugger_free(dbg);
} }
stellar_module_free(mod); stellar_module_free(mod);