sysLog fixed, added logging library (for serial & syslog)

This commit is contained in:
2020-05-31 18:14:10 +03:00
parent 00e631515f
commit 8c95732164
16 changed files with 161 additions and 26 deletions

63
lighthub/streamlog.cpp Normal file
View File

@@ -0,0 +1,63 @@
#include "streamlog.h"
#include <Arduino.h>
Streamlog::Streamlog (UARTClass * _serialPort, int _severity , Syslog * _syslog )
{
serialPort=_serialPort;
severity=_severity;
syslog=_syslog;
}
void Streamlog::begin(unsigned long speed)
{
if (serialPort) serialPort->begin(speed);
};
void Streamlog::end()
{
if (serialPort) serialPort->end();
};
int Streamlog::available(void)
{
if (serialPort) return serialPort->available();
return 0;
};
int Streamlog::peek(void)
{
if (serialPort) return serialPort->peek();
return 0;
};
int Streamlog::read(void)
{
if (serialPort) return serialPort->read();
return 0;
};
void Streamlog::flush(void)
{
if (serialPort) serialPort->flush();
};
size_t Streamlog::write(uint8_t ch)
{
#ifdef SYSLOG_ENABLE
if (ch=='\n')
{
logBuffer[logBufferPos]=0;
if (syslog) syslog->log(severity,(char *)logBuffer);
logBufferPos=0;
}
else
{
if (logBufferPos<LOGBUFFER_SIZE-1 && (ch!='\r')) logBuffer[logBufferPos++]=ch;
}
#endif
if (serialPort) return serialPort->write(ch);
return 1;
};