From 1cf938e16a5799ac14b7b8915fb15f0fe664fac2 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 26 Jul 2021 11:41:23 +0200 Subject: [PATCH] Syslog host setting as ipv4 or hostname --- interface/src/project/EMSESPSettingsForm.tsx | 13 ++-- interface/src/validators/index.ts | 1 + interface/src/validators/isIPv4.ts | 5 ++ src/system.cpp | 71 +++++++++----------- src/system.h | 3 +- src/web/WebSettingsService.cpp | 3 +- 6 files changed, 47 insertions(+), 49 deletions(-) create mode 100644 interface/src/validators/isIPv4.ts diff --git a/interface/src/project/EMSESPSettingsForm.tsx b/interface/src/project/EMSESPSettingsForm.tsx index 48b38998e..944e1bbb0 100644 --- a/interface/src/project/EMSESPSettingsForm.tsx +++ b/interface/src/project/EMSESPSettingsForm.tsx @@ -32,7 +32,7 @@ import { BlockFormControlLabel } from '../components'; -import { isIP, optional } from '../validators'; +import { isIPv4, optional, isHostname, or } from '../validators'; import { EMSESPSettings } from './EMSESPtypes'; @@ -55,7 +55,10 @@ class EMSESPSettingsForm extends Component { }; componentDidMount() { - ValidatorForm.addValidationRule('isOptionalIP', optional(isIP)); + ValidatorForm.addValidationRule( + 'isOptionalIPorHost', + optional(or(isIPv4, isHostname)) + ); } changeBoardProfile = (event: React.ChangeEvent) => { @@ -538,10 +541,10 @@ class EMSESPSettingsForm extends Component { > (syslog_level_))); shell.print(F(" ")); shell.printfln(F_(mark_interval_fmt), syslog_mark_interval_); + shell.printfln(F(" Queued: %d"),syslog_.queued()); } #endif @@ -939,6 +926,10 @@ bool System::command_info(const char * value, const int8_t id, JsonObject & json node["dallas reads"] = EMSESP::sensor_reads(); node["dallas fails"] = EMSESP::sensor_fails(); } + if (EMSESP::system_.syslog_enabled_) { + node["syslog_ip"] = syslog_.ip(); + node["syslog_started"] = syslog_.started(); + } } JsonArray devices2 = json.createNestedArray("Devices"); diff --git a/src/system.h b/src/system.h index 4e41a8cab..bed600cca 100644 --- a/src/system.h +++ b/src/system.h @@ -74,7 +74,6 @@ class System { void send_heartbeat(); void led_init(bool refresh); - void syslog_init(bool refresh); void adc_init(bool refresh); void network_init(bool refresh); void button_init(bool refresh); @@ -168,7 +167,7 @@ class System { std::string hostname_ = "ems-esp"; bool hide_led_; uint8_t led_gpio_; - bool syslog_enabled_; + bool syslog_enabled_ = false; bool analog_enabled_; bool low_clock_; String board_profile_; diff --git a/src/web/WebSettingsService.cpp b/src/web/WebSettingsService.cpp index 3b9aa6b3c..f0d8061d9 100644 --- a/src/web/WebSettingsService.cpp +++ b/src/web/WebSettingsService.cpp @@ -231,8 +231,7 @@ void WebSettingsService::onUpdate() { } if (WebSettings::has_flags(WebSettings::ChangeFlags::SYSLOG)) { - EMSESP::system_.syslog_init(true); // reload settings - EMSESP::system_.syslog_start(); // re-start (or stop) + EMSESP::system_.syslog_start(); // re-start (or stop) } if (WebSettings::has_flags(WebSettings::ChangeFlags::ADC)) {