logtail-python 0.4.2__py2.py3-none-any.whl → 0.4.3__py2.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.
- logtail/__init__.py +1 -1
- logtail/frame.py +6 -1
- logtail/handler.py +10 -3
- {logtail_python-0.4.2.dist-info → logtail_python-0.4.3.dist-info}/METADATA +2 -2
- logtail_python-0.4.3.dist-info/RECORD +14 -0
- logtail_python-0.4.2.dist-info/RECORD +0 -14
- {logtail_python-0.4.2.dist-info → logtail_python-0.4.3.dist-info}/WHEEL +0 -0
- {logtail_python-0.4.2.dist-info → logtail_python-0.4.3.dist-info}/licenses/LICENSE.md +0 -0
- {logtail_python-0.4.2.dist-info → logtail_python-0.4.3.dist-info}/top_level.txt +0 -0
logtail/__init__.py
CHANGED
logtail/frame.py
CHANGED
|
@@ -93,4 +93,9 @@ def _relative_to_main_module_if_possible(pathname):
|
|
|
93
93
|
return _relative_to_main_module(pathname) if has_main_module else pathname
|
|
94
94
|
|
|
95
95
|
def _relative_to_main_module(pathname):
|
|
96
|
-
|
|
96
|
+
try:
|
|
97
|
+
return path.relpath(pathname, path.dirname(__main__.__file__))
|
|
98
|
+
except ValueError:
|
|
99
|
+
# Windows has no relative path between drives, and a PyInstaller build unpacks the
|
|
100
|
+
# script to the system drive while the application may run from another one.
|
|
101
|
+
return pathname
|
logtail/handler.py
CHANGED
|
@@ -95,9 +95,16 @@ class LogtailHandler(logging.Handler):
|
|
|
95
95
|
raise e
|
|
96
96
|
|
|
97
97
|
def flush(self):
|
|
98
|
-
if self.flush_thread and self.flush_thread.is_alive():
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
if not (self.flush_thread and self.flush_thread.is_alive()):
|
|
99
|
+
return
|
|
100
|
+
if logging._lock._is_owned():
|
|
101
|
+
# logging.config.dictConfig() flushes the handlers it replaces while holding the global
|
|
102
|
+
# logging lock, and the worker's upload needs that lock whenever urllib3's logger has a
|
|
103
|
+
# level-cache miss, so waiting here could only deadlock. Nothing is lost: the worker
|
|
104
|
+
# keeps running and sends what is queued as soon as the lock is released.
|
|
105
|
+
return
|
|
106
|
+
if not self.flush_thread.flush(timeout=self.flush_timeout):
|
|
107
|
+
print('Gave up waiting for Better Stack uploads after {}s, logs are still buffered'.format(self.flush_timeout))
|
|
101
108
|
|
|
102
109
|
def _reset_after_fork(self):
|
|
103
110
|
# A forked child inherits the parent's queue with whatever was still buffered in it,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: logtail-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.3
|
|
4
4
|
Summary: Better Stack client library
|
|
5
5
|
Home-page: https://github.com/logtail/logtail-python
|
|
6
|
-
Download-URL: https://github.com/logtail/logtail-python/tarball/0.4.
|
|
6
|
+
Download-URL: https://github.com/logtail/logtail-python/tarball/0.4.3
|
|
7
7
|
Author: Logtail
|
|
8
8
|
Author-email: hello@logtail.com
|
|
9
9
|
License: ISC
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
logtail/__init__.py,sha256=s4LOmVNtxWLWS5XoL0bE-d7v8zZAqP_d-xh77sTZ_z8,252
|
|
2
|
+
logtail/compat.py,sha256=KbZmcmDpj_vbMotp16pADPwJ1FkEHGDNjKbOfCy-c10,141
|
|
3
|
+
logtail/flusher.py,sha256=bPSCvKNniXBZWYY5AVZ0w6lFkxswe739Ooa3ZAj608s,5987
|
|
4
|
+
logtail/formatter.py,sha256=nk4W1G95P19ijylPBJ8D9FlO_qbh3tfbv7xzCSfpDN8,968
|
|
5
|
+
logtail/frame.py,sha256=Vmh6UZWz86i16faH1fYqeCS6UUy7-29-XHDgMPwGfB0,3571
|
|
6
|
+
logtail/handler.py,sha256=Cuz8QmFGzBVTpMb6DZZV6VEmJ9smlM3RaqTTBei3GXY,4952
|
|
7
|
+
logtail/helpers.py,sha256=ezDTLsTBAtCtIh_XptSYOiBrZFa-E9wo2SWTnjKgOOU,1156
|
|
8
|
+
logtail/rq.py,sha256=SEjVwjp8lRLab2F0StdssBQ0-vFK1CekEgYwkSICBeo,1023
|
|
9
|
+
logtail/uploader.py,sha256=5oeNxmnyogq1w9MoK2YkxQGxQy_bJ-yS7RqWzltQrKY,1873
|
|
10
|
+
logtail_python-0.4.3.dist-info/licenses/LICENSE.md,sha256=aCBMqxfm7QNyFR9JiJ2GSMvhAURXN2E0yTcYNQloqI0,737
|
|
11
|
+
logtail_python-0.4.3.dist-info/METADATA,sha256=ry2U2ZRaMnPu10JiI7AaSjB2BSu5K-45Q7QfVe4UBTM,2480
|
|
12
|
+
logtail_python-0.4.3.dist-info/WHEEL,sha256=4YBfCYNH4wlLpv3pzq1hbEuIlXA4WJabKLFurZ7eTL0,109
|
|
13
|
+
logtail_python-0.4.3.dist-info/top_level.txt,sha256=QZIbQogN1yFBgjiJ-8NlYArVCL00gBoYbEUT_Ew8l-Q,8
|
|
14
|
+
logtail_python-0.4.3.dist-info/RECORD,,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
logtail/__init__.py,sha256=4glP1HM13UrMvg1eNN_C4MspQPuKyztVnktGcqsFTuA,252
|
|
2
|
-
logtail/compat.py,sha256=KbZmcmDpj_vbMotp16pADPwJ1FkEHGDNjKbOfCy-c10,141
|
|
3
|
-
logtail/flusher.py,sha256=bPSCvKNniXBZWYY5AVZ0w6lFkxswe739Ooa3ZAj608s,5987
|
|
4
|
-
logtail/formatter.py,sha256=nk4W1G95P19ijylPBJ8D9FlO_qbh3tfbv7xzCSfpDN8,968
|
|
5
|
-
logtail/frame.py,sha256=p7vVYcajZvjH4FJDt4ADLfYljVbQXKTGKk3kFec5JUs,3335
|
|
6
|
-
logtail/handler.py,sha256=Dg4XKhe1bJITz4XBK9JymmNa0cTV6bCcobHeFExlFws,4495
|
|
7
|
-
logtail/helpers.py,sha256=ezDTLsTBAtCtIh_XptSYOiBrZFa-E9wo2SWTnjKgOOU,1156
|
|
8
|
-
logtail/rq.py,sha256=SEjVwjp8lRLab2F0StdssBQ0-vFK1CekEgYwkSICBeo,1023
|
|
9
|
-
logtail/uploader.py,sha256=5oeNxmnyogq1w9MoK2YkxQGxQy_bJ-yS7RqWzltQrKY,1873
|
|
10
|
-
logtail_python-0.4.2.dist-info/licenses/LICENSE.md,sha256=aCBMqxfm7QNyFR9JiJ2GSMvhAURXN2E0yTcYNQloqI0,737
|
|
11
|
-
logtail_python-0.4.2.dist-info/METADATA,sha256=km7pAQqucdR1TGjol0bHQyw5qqeqowG-CTFEvafH44Y,2480
|
|
12
|
-
logtail_python-0.4.2.dist-info/WHEEL,sha256=4YBfCYNH4wlLpv3pzq1hbEuIlXA4WJabKLFurZ7eTL0,109
|
|
13
|
-
logtail_python-0.4.2.dist-info/top_level.txt,sha256=QZIbQogN1yFBgjiJ-8NlYArVCL00gBoYbEUT_Ew8l-Q,8
|
|
14
|
-
logtail_python-0.4.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|