MCPcopy Create free account
hub / github.com/TheSecuredAnalyst/security-suite / export

Method export

modules/siem/syslog.py:162–200  ·  view source on GitHub ↗

Export event via Syslog. Args: event: Event to export Returns: True if successful

(self, event: SIEMEvent)

Source from the content-addressed store, hash-verified

160
161 self._socket.connect((self.host, self.port))
162
163 return self._socket
164
165 async def export(self, event: SIEMEvent) -> bool:
166 """Export event via Syslog.
167
168 Args:
169 event: Event to export
170
171 Returns:
172 True if successful
173 """
174 message = self._format_message(event)
175
176 # Ensure message ends with newline for TCP
177 if self.protocol != "udp" and not message.endswith("\n"):
178 message += "\n"
179
180 message_bytes = message.encode("utf-8")
181
182 try:
183 # Run blocking socket operations in executor
184 loop = asyncio.get_event_loop()
185
186 if self.protocol == "udp":
187 await loop.run_in_executor(
188 None,
189 lambda: self._send_udp(message_bytes)
190 )
191 else:
192 await loop.run_in_executor(
193 None,
194 lambda: self._send_tcp(message_bytes)
195 )
196
197 self.logger.debug(f"Syslog message sent: {event.event_type}")
198 return True
199
200 except Exception as e:
201 self.logger.error(f"Syslog export failed: {e}")
202 self._socket = None # Reset socket on error
203 return False

Callers

nothing calls this directly

Calls 3

_format_messageMethod · 0.95
_send_udpMethod · 0.95
_send_tcpMethod · 0.95

Tested by

no test coverage detected