logger-36 2024.20__tar.gz → 2024.21__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. {logger_36-2024.20 → logger_36-2024.21}/PKG-INFO +1 -1
  2. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/handler/console.py +4 -1
  3. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/handler/console_rich.py +4 -1
  4. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/handler/file.py +4 -1
  5. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/handler/generic.py +19 -21
  6. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/handler.py +4 -3
  7. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/type/logger.py +4 -1
  8. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/version.py +1 -1
  9. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36.egg-info/PKG-INFO +1 -1
  10. {logger_36-2024.20 → logger_36-2024.21}/MANIFEST.in +0 -0
  11. {logger_36-2024.20 → logger_36-2024.21}/README-COPYRIGHT-utf8.txt +0 -0
  12. {logger_36-2024.20 → logger_36-2024.21}/README-LICENCE-utf8.txt +0 -0
  13. {logger_36-2024.20 → logger_36-2024.21}/README.rst +0 -0
  14. {logger_36-2024.20 → logger_36-2024.21}/documentation/wiki/description.asciidoc +0 -0
  15. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/__init__.py +0 -0
  16. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/config/console_rich.py +0 -0
  17. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/logger/chronos.py +0 -0
  18. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/logger/gpu.py +0 -0
  19. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/logger/memory.py +0 -0
  20. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/catalog/logger/system.py +0 -0
  21. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/config/issue.py +0 -0
  22. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/config/logger.py +0 -0
  23. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/config/memory.py +0 -0
  24. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/config/message.py +0 -0
  25. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/config/system.py +0 -0
  26. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/error.py +0 -0
  27. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/generic.py +0 -0
  28. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/handler.py +0 -0
  29. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/issue.py +0 -0
  30. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/logger.py +0 -0
  31. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/memory.py +0 -0
  32. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/message.py +0 -0
  33. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/record.py +0 -0
  34. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/constant/system.py +0 -0
  35. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/format.py +0 -0
  36. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/instance/logger.py +0 -0
  37. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/instance/loggers.py +0 -0
  38. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/logger.py +0 -0
  39. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/logger_gpu.py +0 -0
  40. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/measure.py +0 -0
  41. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/storage.py +0 -0
  42. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/format/memory.py +0 -0
  43. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/format/message.py +0 -0
  44. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/format/rule.py +0 -0
  45. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/inspection.py +0 -0
  46. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/measure/chronos.py +0 -0
  47. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/measure/memory.py +0 -0
  48. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/task/storage.py +0 -0
  49. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/type/handler.py +0 -0
  50. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/type/issue.py +0 -0
  51. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36/type/loggers.py +0 -0
  52. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36.egg-info/SOURCES.txt +0 -0
  53. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36.egg-info/dependency_links.txt +0 -0
  54. {logger_36-2024.20 → logger_36-2024.21}/package/logger_36.egg-info/top_level.txt +0 -0
  55. {logger_36-2024.20 → logger_36-2024.21}/pyproject.toml +0 -0
  56. {logger_36-2024.20 → logger_36-2024.21}/setup.cfg +0 -0
  57. {logger_36-2024.20 → logger_36-2024.21}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: logger-36
3
- Version: 2024.20
3
+ Version: 2024.21
4
4
  Summary: Simple logger with a catalog of handlers
5
5
  Home-page: https://src.koda.cnrs.fr/eric.debreuve/logger-36/
6
6
  Author: Eric Debreuve
@@ -58,7 +58,10 @@ class console_handler_t(lggg.Handler):
58
58
  print(message)
59
59
 
60
60
  def ShowMessage(self, message: str, /) -> None:
61
- """"""
61
+ """
62
+ See documentation of
63
+ logger_36.catalog.handler.generic.generic_handler_t.ShowMessage.
64
+ """
62
65
  print(message)
63
66
 
64
67
 
@@ -155,7 +155,10 @@ class console_rich_handler_t(lggg.Handler):
155
155
  self.console.print(richer, crop=False, overflow="ignore")
156
156
 
157
157
  def ShowMessage(self, message: str, /) -> None:
158
- """"""
158
+ """
159
+ See documentation of
160
+ logger_36.catalog.handler.generic.generic_handler_t.ShowMessage.
161
+ """
159
162
  self.console.print(message, crop=False, overflow="ignore")
160
163
 
161
164
 
@@ -68,7 +68,10 @@ class file_handler_t(lggg.FileHandler):
68
68
  self.stream.flush()
69
69
 
70
70
  def ShowMessage(self, message: str, /) -> None:
71
- """"""
71
+ """
72
+ See documentation of
73
+ logger_36.catalog.handler.generic.generic_handler_t.ShowMessage.
74
+ """
72
75
  print(message, file=self.stream)
73
76
  self.stream.flush()
74
77
 
@@ -23,31 +23,35 @@ from logger_36.task.format.rule import Rule, RuleAsText
23
23
  from logger_36.type.handler import handler_extension_t
24
24
 
25
25
 
26
- class can_show_message_p(h.Protocol):
27
- def ShowMessage(self, message: str, /) -> None: ...
28
-
29
-
30
- interface_h = can_show_message_p | h.Callable[[str], None]
31
-
32
-
33
26
  @d.dataclass(slots=True, repr=False, eq=False)
34
27
  class generic_handler_t(lggg.Handler):
35
28
  """
36
29
  alternating_lines:
37
- - Initial value:
38
- - 1: enabled for dark background
39
- - 2: enabled for light background
40
- - anything else: disabled
41
- - Runtime value: 0/1=do not/do highlight next time.
30
+ - Initial value:
31
+ - 1: enabled for dark background
32
+ - 2: enabled for light background
33
+ - anything else: disabled
34
+ - Runtime value: 0/1=do not/do highlight next time.
35
+
36
+ ShowMessage:
37
+ Log a message as is, i.e. without formatting. If this is a method, it should
38
+ contain the same call(s) as the final ones in the emit methods that are used to
39
+ output the formatted log messages. This means that there is some code
40
+ duplication, but it avoids a (maybe negligible) slowing down that would arise
41
+ from calling this method at the end of the emit methods.
42
+ Here, since, by definition, the generic handler does not know how to output
43
+ messages, it is a callable attribute that must be set at instantiation time, and
44
+ it is indeed called at the end of the emit method.
42
45
  """
43
46
 
44
- extension: handler_extension_t = d.field(init=False)
47
+ ShowMessage: h.Callable[[str], None]
45
48
  console: console_t = None
46
49
  console_options: console_options_t = None
47
- FormattedLines: h.Callable[..., tuple[str, str | None]] = d.field(init=False)
48
50
  alternating_lines: int = 0
49
51
  background_is_light: bool = True
50
- ShowMessage: h.Callable[[str], None] = lambda _arg: None
52
+
53
+ extension: handler_extension_t = d.field(init=False)
54
+ FormattedLines: h.Callable[..., tuple[str, str | None]] = d.field(init=False)
51
55
 
52
56
  name: d.InitVar[str | None] = None
53
57
  level: d.InitVar[int] = lggg.NOTSET
@@ -59,7 +63,6 @@ class generic_handler_t(lggg.Handler):
59
63
  supports_html: d.InitVar[bool] = False
60
64
  should_record: d.InitVar[bool] = False
61
65
  rich_kwargs: d.InitVar[dict[str, h.Any] | None] = None
62
- interface: d.InitVar[interface_h | None] = None # Cannot be None actually.
63
66
 
64
67
  def __post_init__(
65
68
  self,
@@ -72,7 +75,6 @@ class generic_handler_t(lggg.Handler):
72
75
  supports_html: bool,
73
76
  should_record: bool,
74
77
  rich_kwargs: dict[str, h.Any] | None,
75
- interface: interface_h | None,
76
78
  ) -> None:
77
79
  """"""
78
80
  lggg.Handler.__init__(self)
@@ -110,10 +112,6 @@ class generic_handler_t(lggg.Handler):
110
112
  else:
111
113
  self.alternating_lines = -1
112
114
 
113
- self.ShowMessage = getattr(
114
- interface, can_show_message_p.ShowMessage.__name__, interface
115
- )
116
-
117
115
  def emit(self, record: lggg.LogRecord, /) -> None:
118
116
  """"""
119
117
  if self.console is None:
@@ -6,11 +6,12 @@ SEE COPYRIGHT NOTICE BELOW
6
6
 
7
7
  import logging as lggg
8
8
  import sys as sstm
9
+ import typing as h
9
10
  from pathlib import Path as path_t
10
11
 
11
12
  from logger_36.catalog.handler.console import console_handler_t
12
13
  from logger_36.catalog.handler.file import file_handler_t
13
- from logger_36.catalog.handler.generic import generic_handler_t, interface_h
14
+ from logger_36.catalog.handler.generic import generic_handler_t
14
15
  from logger_36.constant.error import MISSING_RICH_ERROR
15
16
  from logger_36.instance.logger import LOGGER
16
17
 
@@ -27,7 +28,7 @@ except ModuleNotFoundError:
27
28
 
28
29
 
29
30
  def AddGenericHandler(
30
- interface: interface_h,
31
+ ShowMessage: h.Callable[[str], None],
31
32
  /,
32
33
  *,
33
34
  logger: lggg.Logger | None = None,
@@ -58,7 +59,7 @@ def AddGenericHandler(
58
59
  alternating_lines=alternating_lines,
59
60
  should_record=should_record,
60
61
  rich_kwargs=kwargs,
61
- interface=interface,
62
+ ShowMessage=ShowMessage,
62
63
  )
63
64
  logger.AddHandler(handler, should_hold_messages)
64
65
 
@@ -321,7 +321,10 @@ class logger_t(lggg.Logger):
321
321
  self.staged_issues.clear()
322
322
 
323
323
  def ShowMessage(self, message: str, /) -> None:
324
- """"""
324
+ """
325
+ See documentation of
326
+ logger_36.catalog.handler.generic.generic_handler_t.ShowMessage.
327
+ """
325
328
  for handler in self.handlers:
326
329
  ShowMessage = getattr(handler, "ShowMessage", None)
327
330
  if ShowMessage is not None:
@@ -4,7 +4,7 @@ Contributor(s): Eric Debreuve (eric.debreuve@cnrs.fr) since 2023
4
4
  SEE COPYRIGHT NOTICE BELOW
5
5
  """
6
6
 
7
- __version__ = "2024.20"
7
+ __version__ = "2024.21"
8
8
 
9
9
  """
10
10
  COPYRIGHT NOTICE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: logger-36
3
- Version: 2024.20
3
+ Version: 2024.21
4
4
  Summary: Simple logger with a catalog of handlers
5
5
  Home-page: https://src.koda.cnrs.fr/eric.debreuve/logger-36/
6
6
  Author: Eric Debreuve
File without changes
File without changes
File without changes
File without changes
File without changes