omlish 0.0.0.dev421__py3-none-any.whl → 0.0.0.dev423__py3-none-any.whl
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.
- omlish/__about__.py +2 -2
- omlish/logs/callers.py +23 -4
- omlish/logs/levels.py +3 -0
- omlish/logs/protocol.py +21 -17
- omlish/logs/typed/__init__.py +0 -0
- omlish/logs/typed/bindings.py +537 -0
- omlish/logs/typed/contexts.py +138 -0
- omlish/logs/typed/types.py +484 -0
- omlish/logs/typed/values.py +114 -0
- {omlish-0.0.0.dev421.dist-info → omlish-0.0.0.dev423.dist-info}/METADATA +1 -1
- {omlish-0.0.0.dev421.dist-info → omlish-0.0.0.dev423.dist-info}/RECORD +15 -10
- {omlish-0.0.0.dev421.dist-info → omlish-0.0.0.dev423.dist-info}/WHEEL +0 -0
- {omlish-0.0.0.dev421.dist-info → omlish-0.0.0.dev423.dist-info}/entry_points.txt +0 -0
- {omlish-0.0.0.dev421.dist-info → omlish-0.0.0.dev423.dist-info}/licenses/LICENSE +0 -0
- {omlish-0.0.0.dev421.dist-info → omlish-0.0.0.dev423.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,114 @@
|
|
1
|
+
# ruff: noqa: UP007
|
2
|
+
# @omlish-lite
|
3
|
+
import logging
|
4
|
+
import os
|
5
|
+
import sys
|
6
|
+
import threading
|
7
|
+
import time
|
8
|
+
import typing as ta
|
9
|
+
|
10
|
+
from ...logs.callers import LoggingCaller
|
11
|
+
from ...logs.levels import LogLevel
|
12
|
+
from .types import ABSENT_TYPED_LOGGER_VALUE
|
13
|
+
from .types import AbsentTypedLoggerValue
|
14
|
+
from .types import DefaultTypedLoggerValue
|
15
|
+
from .types import TypedLoggerValue
|
16
|
+
|
17
|
+
|
18
|
+
##
|
19
|
+
|
20
|
+
|
21
|
+
class StandardTypedLoggerValues:
|
22
|
+
def __new__(cls, *args, **kwargs): # noqa
|
23
|
+
raise TypeError
|
24
|
+
|
25
|
+
#
|
26
|
+
|
27
|
+
class TimeNs(DefaultTypedLoggerValue[int]):
|
28
|
+
@classmethod
|
29
|
+
def _default_value(cls) -> float:
|
30
|
+
return time.time()
|
31
|
+
|
32
|
+
class Time(DefaultTypedLoggerValue[float]):
|
33
|
+
_default_key = True
|
34
|
+
_default_value = TypedLoggerValue.ContextLambda(
|
35
|
+
lambda ctx: ctx[StandardTypedLoggerValues.TimeNs].map_absent(
|
36
|
+
lambda tv: tv.v / 1e9,
|
37
|
+
),
|
38
|
+
)
|
39
|
+
|
40
|
+
#
|
41
|
+
|
42
|
+
class Level(TypedLoggerValue[LogLevel]):
|
43
|
+
pass
|
44
|
+
|
45
|
+
class LevelName(DefaultTypedLoggerValue[str]):
|
46
|
+
_default_key = 'level'
|
47
|
+
_default_value = TypedLoggerValue.ContextLambda(
|
48
|
+
lambda ctx: ctx[StandardTypedLoggerValues.Level].map_absent(
|
49
|
+
lambda lvl: logging.getLevelName(lvl.v),
|
50
|
+
),
|
51
|
+
)
|
52
|
+
|
53
|
+
#
|
54
|
+
|
55
|
+
class Msg(TypedLoggerValue[str]):
|
56
|
+
_default_key = True
|
57
|
+
|
58
|
+
#
|
59
|
+
|
60
|
+
class Caller(TypedLoggerValue[LoggingCaller]):
|
61
|
+
pass
|
62
|
+
|
63
|
+
#
|
64
|
+
|
65
|
+
class Tid(DefaultTypedLoggerValue[int]):
|
66
|
+
@classmethod
|
67
|
+
def _default_value(cls) -> ta.Union[int, AbsentTypedLoggerValue]:
|
68
|
+
if hasattr(threading, 'get_native_id'):
|
69
|
+
return threading.get_native_id()
|
70
|
+
else:
|
71
|
+
return ABSENT_TYPED_LOGGER_VALUE
|
72
|
+
|
73
|
+
class ThreadIdent(DefaultTypedLoggerValue[int]):
|
74
|
+
@classmethod
|
75
|
+
def _default_value(cls) -> int:
|
76
|
+
return threading.get_ident()
|
77
|
+
|
78
|
+
class ThreadName(DefaultTypedLoggerValue[int]):
|
79
|
+
@classmethod
|
80
|
+
def _default_value(cls) -> str:
|
81
|
+
return threading.current_thread().name
|
82
|
+
|
83
|
+
#
|
84
|
+
|
85
|
+
class Pid(DefaultTypedLoggerValue[int]):
|
86
|
+
@classmethod
|
87
|
+
def _default_value(cls) -> int:
|
88
|
+
return os.getpid()
|
89
|
+
|
90
|
+
class ProcessName(DefaultTypedLoggerValue[str]):
|
91
|
+
@classmethod
|
92
|
+
def _default_value(cls) -> ta.Union[str, AbsentTypedLoggerValue]:
|
93
|
+
if (mp := sys.modules.get('multiprocessing')) is None:
|
94
|
+
return ABSENT_TYPED_LOGGER_VALUE
|
95
|
+
|
96
|
+
# Errors may occur if multiprocessing has not finished loading yet - e.g. if a custom import hook causes
|
97
|
+
# third-party code to run when multiprocessing calls import. See issue 8200 for an example
|
98
|
+
try:
|
99
|
+
return mp.current_process().name
|
100
|
+
except Exception: # noqa
|
101
|
+
return ABSENT_TYPED_LOGGER_VALUE
|
102
|
+
|
103
|
+
#
|
104
|
+
|
105
|
+
class AsyncioTaskName(DefaultTypedLoggerValue[str]):
|
106
|
+
@classmethod
|
107
|
+
def _default_value(cls) -> ta.Union[str, AbsentTypedLoggerValue]:
|
108
|
+
if (asyncio := sys.modules.get('asyncio')) is None:
|
109
|
+
return ABSENT_TYPED_LOGGER_VALUE
|
110
|
+
|
111
|
+
try:
|
112
|
+
return asyncio.current_task().get_name()
|
113
|
+
except Exception: # noqa
|
114
|
+
return ABSENT_TYPED_LOGGER_VALUE
|
@@ -1,5 +1,5 @@
|
|
1
1
|
omlish/.manifests.json,sha256=FLw7xkPiSXuImZgqSP8BwrEib2R1doSzUPLUkc-QUIA,8410
|
2
|
-
omlish/__about__.py,sha256=
|
2
|
+
omlish/__about__.py,sha256=udbUA7D2jvRgYzXjIOiFKS5ysqZmTu-pOE6Gr7hqP0k,3568
|
3
3
|
omlish/__init__.py,sha256=SsyiITTuK0v74XpKV8dqNaCmjOlan1JZKrHQv5rWKPA,253
|
4
4
|
omlish/c3.py,sha256=rer-TPOFDU6fYq_AWio_AmA-ckZ8JDY5shIzQ_yXfzA,8414
|
5
5
|
omlish/cached.py,sha256=MLap_p0rdGoDIMVhXVHm1tsbcWobJF0OanoodV03Ju8,542
|
@@ -509,19 +509,24 @@ omlish/lite/wrappers.py,sha256=d00Ls2kFHuogKd5wEBaU65VNCN10YXIZtiwu1mbMpmA,530
|
|
509
509
|
omlish/logs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
510
510
|
omlish/logs/abc.py,sha256=KNefzJynsT0PyNq1HpNpL0FRVIeBS5PfQ8OarhcXrTc,8753
|
511
511
|
omlish/logs/all.py,sha256=kan4dRe5NdSIFRp9JJXm__JbT-Nl4fXWe3KLgHkQVbw,1168
|
512
|
-
omlish/logs/callers.py,sha256=
|
512
|
+
omlish/logs/callers.py,sha256=iV1IoprhaDgRSEO6g-1u8nUZstwjRkSn9YklcTHq-Yc,1638
|
513
513
|
omlish/logs/color.py,sha256=u1-6ulsxTWMPyeKu-pCQyF5_ljuEeuG4FG7i6DTzHe0,670
|
514
514
|
omlish/logs/configs.py,sha256=Emhz11h2wKPWuiA5qJ5Zn50IVhqpJ0LPAXBMKDxP28I,931
|
515
515
|
omlish/logs/filters.py,sha256=m_uHVcgleVevwknVpbYrH1KEB47OyvyP00TAjEDh4Oc,376
|
516
516
|
omlish/logs/handlers.py,sha256=rHw5fmzwH52E8QpEn3n87NjM0vyA5bFE5rtEAZ7_lPY,331
|
517
517
|
omlish/logs/json.py,sha256=IGtbyP4giSTm2scwVg11C8t3iz8fg7Qr8LZOPKuFCNU,1377
|
518
|
-
omlish/logs/levels.py,sha256=
|
518
|
+
omlish/logs/levels.py,sha256=bsmkwX-i38YMm8k4hbDX9_aelhrdmFLtqrx5oNyGs54,53
|
519
519
|
omlish/logs/noisy.py,sha256=hWpbseerZqlHdEPEajDTSmcRhx8LmmNAxz_7GBZAO9s,353
|
520
|
-
omlish/logs/protocol.py,sha256=
|
520
|
+
omlish/logs/protocol.py,sha256=D6_MCdmio4GqoQ73cSFYcu6dF1Y_pA7JsF6gOqc9qLc,6805
|
521
521
|
omlish/logs/proxy.py,sha256=9FmqWQuX3pXezWkCeN17H805CicKN6-QqMKGptk45PI,2378
|
522
522
|
omlish/logs/standard.py,sha256=w0jS824YDvlzrGgAxKiPk9RoZ5V1b0ADiFsBEpKLuLY,3152
|
523
523
|
omlish/logs/timing.py,sha256=qsQ3DB6swts1pxrFlmLWQzhH-3nzDrq1MUu7PxjjUyU,1519
|
524
524
|
omlish/logs/utils.py,sha256=OkFWf1exmWImmT7BaSiIC7c0Fk9tAis-PRqo8H4ny3c,398
|
525
|
+
omlish/logs/typed/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
526
|
+
omlish/logs/typed/bindings.py,sha256=an1CfCv7vn4dihpeW7TlERuYh3TJrs1wtAoZjtSmOwk,17361
|
527
|
+
omlish/logs/typed/contexts.py,sha256=MU1RqHtmYbnxoLfLhMZbTbRd-WfYEyeVo7_3VnG3rY0,4027
|
528
|
+
omlish/logs/typed/types.py,sha256=TgoT2jBGUD9rIWE6u9Yj-WW5wWusMjNcCf4FGh3RHJ4,14428
|
529
|
+
omlish/logs/typed/values.py,sha256=w8ukpJZ3lx_st7Mj7riP2squzGmMaz7OuUxw_NZCZsY,3261
|
525
530
|
omlish/manifests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
526
531
|
omlish/manifests/base.py,sha256=wW-De-pU3cef-0vGsgo-ypftDwc3tCBxhRAzPtrdark,918
|
527
532
|
omlish/manifests/globals.py,sha256=kVqQ-fT4kc7xWzLHoI731GviitFPv2v2yqw-p7t7Exs,2628
|
@@ -928,9 +933,9 @@ omlish/typedvalues/marshal.py,sha256=AtBz7Jq-BfW8vwM7HSxSpR85JAXmxK2T0xDblmm1HI0
|
|
928
933
|
omlish/typedvalues/of_.py,sha256=UXkxSj504WI2UrFlqdZJbu2hyDwBhL7XVrc2qdR02GQ,1309
|
929
934
|
omlish/typedvalues/reflect.py,sha256=PAvKW6T4cW7u--iX80w3HWwZUS3SmIZ2_lQjT65uAyk,1026
|
930
935
|
omlish/typedvalues/values.py,sha256=ym46I-q2QJ_6l4UlERqv3yj87R-kp8nCKMRph0xQ3UA,1307
|
931
|
-
omlish-0.0.0.
|
932
|
-
omlish-0.0.0.
|
933
|
-
omlish-0.0.0.
|
934
|
-
omlish-0.0.0.
|
935
|
-
omlish-0.0.0.
|
936
|
-
omlish-0.0.0.
|
936
|
+
omlish-0.0.0.dev423.dist-info/licenses/LICENSE,sha256=B_hVtavaA8zCYDW99DYdcpDLKz1n3BBRjZrcbv8uG8c,1451
|
937
|
+
omlish-0.0.0.dev423.dist-info/METADATA,sha256=DI-AmSyt9ZwjzJ1SZtABoAckWkdGzMpx5W2h5LacNtE,19242
|
938
|
+
omlish-0.0.0.dev423.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
939
|
+
omlish-0.0.0.dev423.dist-info/entry_points.txt,sha256=Lt84WvRZJskWCAS7xnQGZIeVWksprtUHj0llrvVmod8,35
|
940
|
+
omlish-0.0.0.dev423.dist-info/top_level.txt,sha256=pePsKdLu7DvtUiecdYXJ78iO80uDNmBlqe-8hOzOmfs,7
|
941
|
+
omlish-0.0.0.dev423.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|