mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Fix logger config validation (#3459)
This commit is contained in:
parent
fa2ce366de
commit
9ac39df33f
@ -27,14 +27,12 @@ LOGSEVERITY = {
|
||||
LOGGER_DEFAULT = 'default'
|
||||
LOGGER_LOGS = 'logs'
|
||||
|
||||
_LOGS_SCHEMA = vol.Schema({
|
||||
cv.string: vol.In(vol.Lower(list(LOGSEVERITY))),
|
||||
})
|
||||
_VALID_LOG_LEVEL = vol.All(vol.Upper, vol.In(LOGSEVERITY))
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema({
|
||||
DOMAIN: vol.Schema({
|
||||
vol.Required(LOGGER_DEFAULT): vol.In(vol.Lower(list(LOGSEVERITY))),
|
||||
vol.Required(LOGGER_LOGS): _LOGS_SCHEMA,
|
||||
vol.Optional(LOGGER_DEFAULT): _VALID_LOG_LEVEL,
|
||||
vol.Optional(LOGGER_LOGS): vol.Schema({cv.string: _VALID_LOG_LEVEL}),
|
||||
}),
|
||||
}, extra=vol.ALLOW_EXTRA)
|
||||
|
||||
@ -65,19 +63,19 @@ class HomeAssistantLogFilter(logging.Filter):
|
||||
|
||||
def setup(hass, config=None):
|
||||
"""Setup the logger component."""
|
||||
logfilter = dict()
|
||||
logfilter = {}
|
||||
|
||||
# Set default log severity
|
||||
logfilter[LOGGER_DEFAULT] = LOGSEVERITY['DEBUG']
|
||||
if LOGGER_DEFAULT in config.get(DOMAIN):
|
||||
logfilter[LOGGER_DEFAULT] = LOGSEVERITY[
|
||||
config.get(DOMAIN)[LOGGER_DEFAULT].upper()
|
||||
config.get(DOMAIN)[LOGGER_DEFAULT]
|
||||
]
|
||||
|
||||
# Compute log severity for components
|
||||
if LOGGER_LOGS in config.get(DOMAIN):
|
||||
for key, value in config.get(DOMAIN)[LOGGER_LOGS].items():
|
||||
config.get(DOMAIN)[LOGGER_LOGS][key] = LOGSEVERITY[value.upper()]
|
||||
config.get(DOMAIN)[LOGGER_LOGS][key] = LOGSEVERITY[value]
|
||||
|
||||
logs = OrderedDict(
|
||||
sorted(
|
||||
|
@ -2,7 +2,9 @@
|
||||
from collections import namedtuple
|
||||
import logging
|
||||
import unittest
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from homeassistant.bootstrap import setup_component
|
||||
from homeassistant.components import logger
|
||||
|
||||
RECORD = namedtuple('record', ('name', 'levelno'))
|
||||
@ -22,7 +24,7 @@ class TestUpdater(unittest.TestCase):
|
||||
|
||||
def test_logger_setup(self):
|
||||
"""Use logger to create a logging filter."""
|
||||
logger.setup(None, self.log_config)
|
||||
setup_component(MagicMock(), logger.DOMAIN, self.log_config)
|
||||
|
||||
self.assertTrue(len(logging.root.handlers) > 0)
|
||||
handler = logging.root.handlers[-1]
|
||||
@ -35,7 +37,7 @@ class TestUpdater(unittest.TestCase):
|
||||
|
||||
def test_logger_test_filters(self):
|
||||
"""Test resulting filter operation."""
|
||||
logger.setup(None, self.log_config)
|
||||
setup_component(MagicMock(), logger.DOMAIN, self.log_config)
|
||||
|
||||
log_filter = logging.root.handlers[-1].filters[0]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user