From dc5a090d447ab5b4e9bd64ab255360585aefa15f Mon Sep 17 00:00:00 2001 From: Marius Ciotlos Date: Mon, 11 Jun 2018 23:15:45 +0300 Subject: [PATCH] Corrections @c727 suggestions --- lib/controller.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/controller.js b/lib/controller.js index 559e5bea..8ece19ff 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -14,6 +14,8 @@ const mqttDevicePrefixRegex = new RegExp(`${settings.get().mqtt.base_topic}/[\\w const pollInterval = 60 * 1000; // seconds * 1000. const softResetTimeout = 3600 * 1000; // seconds * 1000. +const allowedLogLevels = ['error', 'warn', 'info', 'debug']; + /** * Home Assistant requires ALL attributes to be present in ALL MQTT messages send by the device. * https://community.home-assistant.io/t/missing-value-with-mqtt-only-last-data-set-is-shown/47070/9 @@ -340,11 +342,11 @@ class Controller { if (option === 'permit_join') { this.zigbee.permitJoin(message.toString().toLowerCase() === 'true'); } else if (option === 'log_level') { - let level = message.toString().toLowerCase(); - if (['error', 'warn', 'info', 'debug'].indexOf(level) > -1) { + const level = message.toString().toLowerCase(); + if (allowedLogLevels.includes(level)) { logger.warn(`Switching log level to '${level}'`); - logger.transports.console.level = message.toString().toLowerCase(); - logger.transports.file.level = message.toString().toLowerCase(); + logger.transports.console.level = level; + logger.transports.file.level = level; } else { logger.error(`Could not set log level to '${level}'`); }