File tree Expand file tree Collapse file tree 2 files changed +33
-4
lines changed
Expand file tree Collapse file tree 2 files changed +33
-4
lines changed Original file line number Diff line number Diff line change @@ -120,8 +120,27 @@ size_t SyslogPrinter::write(const uint8_t *buf, size_t size) {
120120}
121121
122122size_t SyslogPrinter::write (const uint8_t *buf, size_t size, uint8_t severity) {
123- if (!WLED_CONNECTED || buf == nullptr || !syslogEnabled) return 0 ;
124- if (!resolveHostname ()) return 0 ;
123+ _lastOperationSucceeded = true ;
124+ if (!WLED_CONNECTED) {
125+ _lastOperationSucceeded = false ;
126+ _lastErrorMessage = F (" Network not connected" );
127+ return 0 ;
128+ }
129+ if (buf == nullptr ) {
130+ _lastOperationSucceeded = false ;
131+ _lastErrorMessage = F (" Null buffer provided" );
132+ return 0 ;
133+ }
134+ if (!syslogEnabled) {
135+ _lastOperationSucceeded = false ;
136+ _lastErrorMessage = F (" Syslog is disabled" );
137+ return 0 ;
138+ }
139+ if (!resolveHostname ()) {
140+ _lastOperationSucceeded = false ;
141+ _lastErrorMessage = F (" Failed to resolve hostname" );
142+ return 0 ;
143+ }
125144
126145 syslogUdp.beginPacket (syslogHostIP, syslogPort);
127146
Original file line number Diff line number Diff line change @@ -49,15 +49,21 @@ class SyslogPrinter : public Print {
4949 WiFiUDP syslogUdp; // needs to be here otherwise UDP messages get truncated upon destruction
5050 IPAddress syslogHostIP;
5151 bool resolveHostname ();
52+ bool _lastOperationSucceeded;
53+ String _lastErrorMessage;
5254
5355 // Syslog configuration
5456 uint8_t _facility;
5557 uint8_t _severity;
5658 uint8_t _protocol;
5759 String _appName;
58- bool test = true ;
60+
5961 // Buffer management
60- char _buffer[128 ]; // Buffer for collecting characters
62+ #ifndef SYSLOG_BUFFER_SIZE
63+ #define SYSLOG_BUFFER_SIZE 128
64+ #endif
65+ char _buffer[SYSLOG_BUFFER_SIZE]; // Buffer for collecting characters
66+
6167 size_t _bufferIndex;
6268 void flushBuffer ();
6369
@@ -75,6 +81,10 @@ class SyslogPrinter : public Print {
7581
7682 // Severity override for specific messages
7783 size_t write (const uint8_t *buf, size_t size, uint8_t severity);
84+
85+ // Error handling
86+ bool lastOperationSucceeded () const { return _lastOperationSucceeded; }
87+ String getLastErrorMessage () const { return _lastErrorMessage; }
7888};
7989
8090// Default instance
You can’t perform that action at this time.
0 commit comments