]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
Pull request #4849: packet_tracer: file output will not be using batched logger
authorSteven Baigal (sbaigal) <sbaigal@cisco.com>
Tue, 5 Aug 2025 14:54:21 +0000 (14:54 +0000)
committerSteven Baigal (sbaigal) <sbaigal@cisco.com>
Tue, 5 Aug 2025 14:54:21 +0000 (14:54 +0000)
Merge in SNORT/snort3 from ~SBAIGAL/snort3:batchlog_file to master

Squashed commit of the following:

commit 2f1655e862c30edf80985997f22805027952e2bc
Author: Steven Baigal <sbaigal@cisco.com>
Date:   Mon Aug 4 19:08:24 2025 -0400

    packet_tracer: file output will not be using batched logger

src/packet_io/packet_tracer.cc

index acd6d2b07b87a00381cd9b95a541909246264608..6d9772f65999a57efe27b6cbff376275123830f4 100644 (file)
@@ -132,6 +132,7 @@ void PacketTracer::thread_init()
 
 void PacketTracer::thread_term()
 {
+    BatchedLogger::BatchedLogManager::flush_thread_buffers();
     delete s_pkt_trace;
     s_pkt_trace = nullptr;
 }
@@ -161,8 +162,14 @@ void PacketTracer::dump(Packet* p)
             PacketTracer::log("Verdict Reason: %s, %s\n", drop_reason, p->active->get_action_string() );
         if (s_pkt_trace->buff_len < max_buff_size - 1)
             s_pkt_trace->buffer[s_pkt_trace->buff_len++] = '\n';
-        BatchedLogger::BatchedLogManager::log(s_pkt_trace->log_fh, SnortConfig::log_syslog(),
-            s_pkt_trace->buffer, s_pkt_trace->buff_len);
+        if (s_pkt_trace->log_fh && s_pkt_trace->log_fh != stdout)
+        {
+            fprintf(s_pkt_trace->log_fh, "%.*s", s_pkt_trace->buff_len, s_pkt_trace->buffer);
+            fflush(s_pkt_trace->log_fh);
+        }
+        else
+            BatchedLogger::BatchedLogManager::log(s_pkt_trace->log_fh, SnortConfig::log_syslog(),
+                s_pkt_trace->buffer, s_pkt_trace->buff_len);
     }
 
     s_pkt_trace->reset(false);