logger-36 2025.10__tar.gz → 2025.11__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 (63) hide show
  1. {logger_36-2025.10 → logger_36-2025.11}/PKG-INFO +1 -1
  2. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/exception.py +28 -7
  3. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/version.py +1 -1
  4. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36.egg-info/PKG-INFO +1 -1
  5. {logger_36-2025.10 → logger_36-2025.11}/MANIFEST.in +0 -0
  6. {logger_36-2025.10 → logger_36-2025.11}/README-COPYRIGHT-utf8.txt +0 -0
  7. {logger_36-2025.10 → logger_36-2025.11}/README-LICENCE-utf8.txt +0 -0
  8. {logger_36-2025.10 → logger_36-2025.11}/README.rst +0 -0
  9. {logger_36-2025.10 → logger_36-2025.11}/documentation/wiki/description.asciidoc +0 -0
  10. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/__init__.py +0 -0
  11. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/api/logger.py +0 -0
  12. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/api/storage.py +0 -0
  13. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/config/console_rich.py +0 -0
  14. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/config/optional.py +0 -0
  15. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/handler/console.py +0 -0
  16. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/handler/console_rich.py +0 -0
  17. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/handler/file.py +0 -0
  18. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/handler/generic.py +0 -0
  19. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/logger/chronos.py +0 -0
  20. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/logger/gpu.py +0 -0
  21. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/logger/memory.py +0 -0
  22. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/catalog/logger/system.py +0 -0
  23. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/config/issue.py +0 -0
  24. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/config/memory.py +0 -0
  25. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/config/message.py +0 -0
  26. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/config/system.py +0 -0
  27. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/error.py +0 -0
  28. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/generic.py +0 -0
  29. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/handler.py +0 -0
  30. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/issue.py +0 -0
  31. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/logger.py +0 -0
  32. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/memory.py +0 -0
  33. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/message.py +0 -0
  34. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/path.py +0 -0
  35. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/record.py +0 -0
  36. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/constant/system.py +0 -0
  37. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/content.py +0 -0
  38. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/extension/html_.py +0 -0
  39. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/gpu.py +0 -0
  40. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/handler.py +0 -0
  41. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/instance/logger.py +0 -0
  42. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/instance/loggers.py +0 -0
  43. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/memory.py +0 -0
  44. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/storage.py +0 -0
  45. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/system.py +0 -0
  46. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/format/memory.py +0 -0
  47. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/format/message.py +0 -0
  48. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/format/rule.py +0 -0
  49. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/inspection.py +0 -0
  50. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/measure/chronos.py +0 -0
  51. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/measure/memory.py +0 -0
  52. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/task/storage.py +0 -0
  53. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/time.py +0 -0
  54. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/type/handler.py +0 -0
  55. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/type/issue.py +0 -0
  56. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/type/logger.py +0 -0
  57. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36/type/loggers.py +0 -0
  58. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36.egg-info/SOURCES.txt +0 -0
  59. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36.egg-info/dependency_links.txt +0 -0
  60. {logger_36-2025.10 → logger_36-2025.11}/package/logger_36.egg-info/top_level.txt +0 -0
  61. {logger_36-2025.10 → logger_36-2025.11}/pyproject.toml +0 -0
  62. {logger_36-2025.10 → logger_36-2025.11}/setup.cfg +0 -0
  63. {logger_36-2025.10 → logger_36-2025.11}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: logger-36
3
- Version: 2025.10
3
+ Version: 2025.11
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
@@ -7,13 +7,29 @@ SEE COPYRIGHT NOTICE BELOW
7
7
  import re as r
8
8
  import sys as s
9
9
  import tempfile as tmpf
10
+ import textwrap as text
10
11
  import traceback as tcbk
11
12
  import types as t
12
13
  from pathlib import Path as path_t
13
14
 
15
+ from logger_36.catalog.config.optional import RICH_IS_AVAILABLE
14
16
  from logger_36.constant.path import USER_FOLDER
15
17
 
16
18
  _ORIGINAL_EXCEPTION_HANDLER = s.excepthook
19
+ _INDENTATION = " "
20
+
21
+ if RICH_IS_AVAILABLE:
22
+ from rich import print as ShowErrorMessage # noqa
23
+
24
+ TITLE_COLOR = "[red]"
25
+ FUNCTION_COLOR = "[cyan]"
26
+ REPORT_COLOR = "[red]"
27
+ MONOCHROME = "[/]"
28
+ OPTIONAL_NEWLINE = ""
29
+ else:
30
+ ShowErrorMessage = s.__stderr__.write
31
+ TITLE_COLOR = WHERE_COLOR = REPORT_COLOR = MONOCHROME = ""
32
+ OPTIONAL_NEWLINE = "\n"
17
33
 
18
34
 
19
35
  def OverrideExceptionFormat() -> None:
@@ -63,26 +79,31 @@ def _HandleException(
63
79
  variables = map(
64
80
  lambda _: f"{_:{longest}} = {all_variables[_]}", sorted(found_names)
65
81
  )
66
- variables = " " + "\n ".join(variables) + "\n"
82
+ variables = 2 * _INDENTATION + f"\n{2*_INDENTATION}".join(variables) + "\n"
67
83
  else:
68
84
  variables = ""
69
85
 
70
- line_content = f" {line_content}\n"
86
+ line_content = f"{_INDENTATION}{line_content}\n"
71
87
 
72
88
  # Format message.
73
89
  message = str(exception).strip()
74
90
  if message.__len__() > 0:
75
- message = f" {message[0].title()}{message[1:]}\n"
91
+ if "\n" in message:
92
+ message = text.indent(message, 2 * _INDENTATION)[
93
+ (2 * _INDENTATION.__len__()) :
94
+ ]
95
+ message = f"{_INDENTATION}{message[0].title()}{message[1:]}\n"
76
96
 
77
97
  document = tmpf.NamedTemporaryFile(delete=False)
78
98
 
79
- s.__stderr__.write(
80
- f"{stripe.__name__}\n"
81
- f" {module}:{function}@{line_number}\n"
99
+ ShowErrorMessage(
100
+ f"{TITLE_COLOR}{stripe.__name__}{MONOCHROME}\n"
101
+ f"{_INDENTATION}{module}:{FUNCTION_COLOR}{function}{MONOCHROME}@{line_number}\n"
82
102
  f"{line_content}"
83
103
  f"{variables}"
84
104
  f"{message}"
85
- f" Full report at: {document.name}\n",
105
+ f"{_INDENTATION}{REPORT_COLOR}Full report at: file://{document.name}"
106
+ f"{MONOCHROME}{OPTIONAL_NEWLINE}",
86
107
  )
87
108
 
88
109
  lines = tcbk.format_exception(exception)
@@ -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__ = "2025.10"
7
+ __version__ = "2025.11"
8
8
 
9
9
  """
10
10
  COPYRIGHT NOTICE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: logger-36
3
- Version: 2025.10
3
+ Version: 2025.11
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