kitty-logger 0.2.0.dev5__tar.gz → 0.2.0.dev6__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 (18) hide show
  1. {kitty_logger-0.2.0.dev5/src/kitty_logger.egg-info → kitty_logger-0.2.0.dev6}/PKG-INFO +1 -1
  2. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/pyproject.toml +1 -1
  3. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/__init__.py +1 -1
  4. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/_client.py +13 -2
  5. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6/src/kitty_logger.egg-info}/PKG-INFO +1 -1
  6. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/tests/test_kitty_logger.py +13 -0
  7. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/LICENSE +0 -0
  8. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/README.md +0 -0
  9. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/setup.cfg +0 -0
  10. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/_env.py +0 -0
  11. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/_formatters.py +0 -0
  12. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/_server.py +0 -0
  13. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/_server_main.py +0 -0
  14. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger/_setup.py +0 -0
  15. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger.egg-info/SOURCES.txt +0 -0
  16. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger.egg-info/dependency_links.txt +0 -0
  17. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger.egg-info/requires.txt +0 -0
  18. {kitty_logger-0.2.0.dev5 → kitty_logger-0.2.0.dev6}/src/kitty_logger.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kitty_logger
3
- Version: 0.2.0.dev5
3
+ Version: 0.2.0.dev6
4
4
  Summary: Cross-process logging via a dedicated log server process and SocketHandler.
5
5
  Author: Kitty
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "kitty_logger"
7
- version = "0.2.0.dev5"
7
+ version = "0.2.0.dev6"
8
8
  description = "Cross-process logging via a dedicated log server process and SocketHandler."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -42,4 +42,4 @@ __all__ = [
42
42
  "PRESETS",
43
43
  "get_preset",
44
44
  ]
45
- __version__ = "0.2.0.dev5"
45
+ __version__ = "0.2.0.dev6"
@@ -110,7 +110,11 @@ def _ensure_kitty_handler() -> logging.Logger:
110
110
  return kitty
111
111
 
112
112
 
113
- def getLogger(name: str | None = None) -> logging.Logger:
113
+ def getLogger(
114
+ name: str | None = None,
115
+ *,
116
+ level: int | str | None = None,
117
+ ) -> logging.Logger:
114
118
  """返回挂在 ``kitty`` 命名空间下的 logger。
115
119
 
116
120
  可在 :func:`kitty_logger.setup_logging` 之前调用——例如在模块顶层
@@ -126,7 +130,14 @@ def getLogger(name: str | None = None) -> logging.Logger:
126
130
  会被转换为 ``logging.getLogger("kitty.foo")``——日志记录里
127
131
  ``%(name)s`` 字段会带 ``kitty.`` 前缀,这是有意保留的标记,方便
128
132
  和第三方库日志区分。
133
+ :param level: 可选;为该 logger 设置 level。等价于 ``getLogger(name)``
134
+ 之后再调 ``.setLevel(level)``。``None`` 表示保持默认 ``NOTSET``,
135
+ 向上沿用 ``kitty`` 根 logger 的级别。支持 ``logging.DEBUG`` 这样
136
+ 的整数,也支持 ``"DEBUG"`` 这样的级别名(大小写不敏感)。
129
137
  """
130
138
  _ensure_kitty_handler()
131
139
  full = KITTY_NAMESPACE if not name else f"{KITTY_NAMESPACE}.{name}"
132
- return logging.getLogger(full)
140
+ logger = logging.getLogger(full)
141
+ if level is not None:
142
+ logger.setLevel(level)
143
+ return logger
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kitty_logger
3
- Version: 0.2.0.dev5
3
+ Version: 0.2.0.dev6
4
4
  Summary: Cross-process logging via a dedicated log server process and SocketHandler.
5
5
  Author: Kitty
6
6
  License: MIT
@@ -132,6 +132,19 @@ def test_get_logger_before_setup_works(tmp_path: Path):
132
132
  _wait_for_lines(log_path, lambda t: "late-binding-ok" in t)
133
133
 
134
134
 
135
+ def test_get_logger_level_param():
136
+ """``level=`` 参数等价于 ``.setLevel(level)``,支持整数与级别名。"""
137
+ log_int = kitty_logger.getLogger("lvl.int", level=logging.DEBUG)
138
+ assert log_int.level == logging.DEBUG
139
+
140
+ log_str = kitty_logger.getLogger("lvl.str", level="WARNING")
141
+ assert log_str.level == logging.WARNING
142
+
143
+ # 不传 level:保持默认 NOTSET,沿用祖先级别。
144
+ log_default = kitty_logger.getLogger("lvl.default")
145
+ assert log_default.level == logging.NOTSET
146
+
147
+
135
148
  def test_non_loopback_raises(tmp_path: Path):
136
149
  # 非 loopback 必须直接拒绝;0.0.0.0 在大多数系统都能 bind,但我们要在
137
150
  # bind 之前就 ValueError 掉。