Skip to content
Snippets Groups Projects
Commit e6a835fd authored by Anton Joubert's avatar Anton Joubert
Browse files

SAR-55 Revert add static tag to formatter

Turns out this is not that useful for Tango SKABaseDevice.
parent 102b269f
No related branches found
No related tags found
No related merge requests found
...@@ -5,8 +5,6 @@ ...@@ -5,8 +5,6 @@
__all__ = ( __all__ = (
"configure_logging", "configure_logging",
"get_default_formatter", "get_default_formatter",
"SkaLoggingError",
"SkaLoggingTagsFormatError",
) )
__author__ = "Anton Joubert" __author__ = "Anton Joubert"
__email__ = "ajoubert+ska@ska.ac.za" __email__ = "ajoubert+ska@ska.ac.za"
...@@ -15,8 +13,6 @@ __email__ = "ajoubert+ska@ska.ac.za" ...@@ -15,8 +13,6 @@ __email__ = "ajoubert+ska@ska.ac.za"
from .configuration import ( from .configuration import (
configure_logging, configure_logging,
get_default_formatter, get_default_formatter,
SkaLoggingError,
SkaLoggingTagsFormatError,
) )
......
...@@ -7,14 +7,6 @@ import logging.config ...@@ -7,14 +7,6 @@ import logging.config
import time import time
class SkaLoggingError(Exception):
"""Base class for all SKA Logger exceptions."""
class SkaLoggingTagsFormatError(SkaLoggingError):
"""Invalid format for the 'tags' field string."""
class _UTCFormatter(logging.Formatter): class _UTCFormatter(logging.Formatter):
converter = time.gmtime converter = time.gmtime
...@@ -46,7 +38,6 @@ _FORMAT_STR_WITH_TAGS = ( ...@@ -46,7 +38,6 @@ _FORMAT_STR_WITH_TAGS = (
"%(message)s" "%(message)s"
) )
_INVALID_TAG_CHARS = ("|", "%")
_LOGGING_CONFIG = { _LOGGING_CONFIG = {
"version": 1, "version": 1,
...@@ -123,33 +114,17 @@ def get_default_formatter(tags=False): ...@@ -123,33 +114,17 @@ def get_default_formatter(tags=False):
Parameters Parameters
---------- ----------
tags : bool or str, optional tags : bool, optional
If boolean, then treated as a toggle: If true, then include the "tags" field in the format string. This requires
- True: include the "tags" field in the format string. This requires
a tags filter to be linked to the corresponding handler. a tags filter to be linked to the corresponding handler.
- False: exclude the "tags" field from the format string.
If string, then it is a static tag. Instead of using a logging filter, the
formatter will just use this static string for the "tags" field directly.
Returns Returns
------- -------
logging.Formatter logging.Formatter
A new default formatter. A new default formatter.
Raises
------
SkaLoggingTagsFormatError:
If the static tags string has an invalid format.
""" """
if isinstance(tags, str): if tags:
invalid_chars = [c for c in _INVALID_TAG_CHARS if c in tags]
if invalid_chars:
raise SkaLoggingTagsFormatError(
"Invalid char(s) {} in tags: {!r}".format(invalid_chars, tags)
)
format_str = _FORMAT_STR_WITH_TAGS.replace("%(tags)s", tags)
elif tags:
format_str = _FORMAT_STR_WITH_TAGS format_str = _FORMAT_STR_WITH_TAGS
else: else:
format_str = _FORMAT_STR_NO_TAGS format_str = _FORMAT_STR_NO_TAGS
......
...@@ -9,7 +9,7 @@ import pytest ...@@ -9,7 +9,7 @@ import pytest
import ska_logging.configuration import ska_logging.configuration
from ska_logging import configure_logging, get_default_formatter, SkaLoggingTagsFormatError from ska_logging import configure_logging, get_default_formatter
@pytest.fixture @pytest.fixture
...@@ -183,19 +183,6 @@ class TestGetDefaultFormatter: ...@@ -183,19 +183,6 @@ class TestGetDefaultFormatter:
assert isinstance(formatter, ska_logging.configuration._UTCFormatter) assert isinstance(formatter, ska_logging.configuration._UTCFormatter)
assert formatter._fmt == ska_logging.configuration._FORMAT_STR_WITH_TAGS assert formatter._fmt == ska_logging.configuration._FORMAT_STR_WITH_TAGS
def test_get_tags_static_string(self):
formatter = get_default_formatter(tags="test-key:test-value")
assert isinstance(formatter, ska_logging.configuration._UTCFormatter)
tags_format = ska_logging.configuration._FORMAT_STR_WITH_TAGS
expected_format = tags_format.replace("%(tags)s", "test-key:test-value")
assert formatter._fmt == expected_format
def test_get_tags_invalid_static_string(self):
with pytest.raises(SkaLoggingTagsFormatError):
get_default_formatter(tags="no|pipes|allowed")
with pytest.raises(SkaLoggingTagsFormatError):
get_default_formatter(tags="no%percentage%symbols%allowed")
class TestOverride: class TestOverride:
"""Tests for :func:`~ska_logging.configuration._override`. """Tests for :func:`~ska_logging.configuration._override`.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment