Commit graph

418 commits

Author SHA1 Message Date
Miss Islington (bot)
f286e0373f
bpo-36813: Fix QueueListener to call task_done() upon termination. (GH-13113)
Fixed QueueListener in order to avoid random deadlocks.
Unable to add regression tests atm due to time constraints, will add it in a bit.
Regarding implementation, although it's nested, it does not cause performance issues whatsoever, and does not call task_done() in case of an exception (which is the right thing to do IMHO).

https://bugs.python.org/issue36813
(cherry picked from commit 6b282e1887)

Co-authored-by: Bar Harel <bzvi7919@gmail.com>
2019-06-01 02:36:29 -07:00
Miss Islington (bot)
78dd781ef4 bpo-36015: Handle StreamHandler representaton of stream with an integer name (GH-11908) (GH-13183)
(cherry picked from commit ca87eebb22)

Co-authored-by: Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com>
2019-05-15 19:06:29 +01:00
Gregory P. Smith
3b4b28efbd
[3.7] bpo-36533: Reinit logging.Handler locks on fork(). (GH-12704) (GH-13170)
Instead of attempting to acquire and release them all across fork
which was leading to deadlocks in some applications that had chained
their own handlers while holding multiple locks.
(cherry picked from commit 64aa6d2000)

Co-authored-by: Gregory P. Smith <greg@krypto.org>  [Google LLC]
2019-05-07 16:29:41 -04:00
Xtreak
386b6f07a9 [3.7] bpo-35726: Prevented QueueHandler formatting from affecting other handlers (GH-11537) (GH-12716)
QueueHandler.prepare() now makes a copy of the record before modifying and enqueueing it, to avoid affecting other handlers in the chain.
(cherry picked from commit da6424e96a)

Co-authored-by: Manjusaka <lizheao940510@gmail.com>
2019-05-02 13:02:42 -04:00
Miss Islington (bot)
6a7a9f1d83 bpo-36272: Logging now propagates RecursionError (GH-12312) (GH-12391)
(cherry picked from commit 65f64b1903)

Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
2019-03-18 14:22:41 +00:00
Miss Islington (bot)
d730719b09 bpo-35046: do only one system call per line (logging.StreamHandler) (GH-10042) (GH-10050)
(cherry picked from commit b7d62050e7)
2018-10-23 11:07:06 +01:00
Miss Islington (bot)
3b699932e5 bpo-6721: Hold logging locks across fork() (GH-4071) (#9291)
bpo-6721: When os.fork() was called while another thread holds a logging lock, the child process may deadlock when it tries to log.  This fixes that by acquiring all logging locks before fork and releasing them afterwards.

A regression test that fails before this change is included.

Within the new unittest itself: There is a small _potential_ due to mixing of fork and a thread in the child process if the parent's thread happened to hold a non-reentrant library call lock (malloc?) when the os.fork() happens.  buildbots and time will tell if this actually manifests itself in this test or not.  :/  A functionality test that avoids that would be a challenge.

An alternate test that isn't trying to produce the deadlock itself but just checking that the release and acquire calls are made would be the next best alternative if so.
(cherry picked from commit 19003841e9)

Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google]
2018-10-07 00:09:59 -07:00
Miss Islington (bot)
1a2189353f bpo-34334: Don't log traceback twice in QueueHandler (GH-9537) (GH-9581)
(cherry picked from commit d345bb4d9b)

Co-authored-by: Cheryl Sabella <cheryl.sabella@gmail.com>
2018-10-07 00:33:37 -04:00
Miss Islington (bot)
2e4ae8f1b3 bpo-34415: Updated logging.Formatter docstring. (GH-8811) (GH-8817)
(cherry picked from commit d3d3171da8)
2018-08-19 08:20:13 +01:00
Miss Islington (bot)
6f49afc3d9 bpo-33978: Close existing handlers before logging (re-)configuration. (GH-8008) (GH-8044)
(cherry picked from commit 087570af6d)

Co-authored-by: Xtreak <tirkarthi@users.noreply.github.com>
2018-07-02 10:35:09 +01:00
Miss Islington (bot)
eb8516becc bpo-33400: Clarified documentation to indicate no strict adherence to ISO 8601. (GH-6702) (GH-6704)
(cherry picked from commit c4994dc00d)

Co-authored-by: Vinay Sajip <vinay_sajip@yahoo.co.uk>
2018-05-28 13:29:13 +01:00
Miss Islington (bot)
f8a3485dcd
Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624)
(cherry picked from commit 3f2e6f15d6)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-02-26 08:22:24 -08:00
Vinay Sajip
e96ba183c4
bpo-30904: Removed duplicated Host: header. (#4465) 2017-11-19 18:36:17 +00:00
sanjayp
2ae4ad7ca4 Changed lambda to str.strip in _strip_spaces in logging.config (#4332) 2017-11-15 09:28:11 +00:00
Lovesh Harchandani
afad147b59 bpo-30989: Sort in TimedRotatingFileHandler only when needed. (GH-2812)
TimedRotatingFileHandler.getFilesToDelete() now sorts only when needed.
2017-10-27 08:04:33 +01:00
Łukasz Langa
ce9e625445 bpo-31457: Don't omit inner `process()` calls with nested LogAdapters (#4044)
This used to be the case on Python 2.  Commit
212b590e11 changed the implementation for Python
3, making the `log()` method of LogAdapter call `logger._log()` directly.  This
makes nested log adapters not execute their ``process()`` method.  This patch
fixes the issue.

Also, now proxying `name`, too, to make `repr()` work with nested log adapters.

New tests added.
2017-10-19 10:24:55 -07:00
Łukasz Langa
0b6a118a45 bpo-31457: Make the LoggerAdapter.manager property settable (#4042)
Due to a bug in the initial fix, the setter was in fact creating a different
property.  This is now fixed.
2017-10-18 17:28:51 -07:00
Łukasz Langa
1bbd482bcf bpo-31457: Allow for nested LoggerAdapter objects (#3551)
Some of the proxied methods use internal Logger state which isn't proxied,
causing failures if an adapter is applied to another adapter.

This commit fixes the issue, adds a new test for the use case.
2017-09-14 11:34:47 -04:00
Victor Stinner
97d7e65dfe bpo-30830: logging.config.listen() calls server_close() (#3524)
The ConfigSocketReceiver.serve_until_stopped() method from
logging.config.listen() now calls server_close() (of
socketserver.ThreadingTCPServer) rather than closing manually the
socket.

While this change has no effect yet, it will help to prevent dangling
threads once ThreadingTCPServer.server_close() will join spawned
threads (bpo-31233).
2017-09-13 01:44:08 -07:00
Antoine Pitrou
a6a4dc816d bpo-31370: Remove support for threads-less builds (#3385)
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Preston Landers
6ea56d2ebc bpo-31080: Allowed logging.config.fileConfig() to accept both args and kwargs. (GH-2979) 2017-08-02 21:44:28 +01:00
favll
adfe3440f6 bpo-31084: QueueHandler now formats messages correctly. (GH-2954) 2017-08-01 19:12:26 +01:00
Vinay Sajip
75f0b5dbac Updated LoggerAdapter.isEnabledFor to take advantage of caching. (GH-2951) 2017-07-30 20:15:18 +01:00
Vinay Sajip
2543f50033 bpo-30522: Implemented a method to allow setting a logging.StreamHander's stream. (GH-2921) 2017-07-30 10:41:45 +01:00
Avram Lubkin
78c18a9b9a bpo-30962: Added caching to Logger.isEnabledFor() (GH-2752) 2017-07-30 10:36:33 +01:00
Vinay Sajip
6260d9f203 bpo-30520: Implemented pickling for loggers. (#1956)
Implemented pickling for loggers.
2017-06-06 16:34:29 +01:00
Xiang Zhang
0b4b57df96 bpo-30378: Fix the problem that SysLogHandler can't handle IPv6 addresses (#1676) 2017-06-01 21:11:56 +08:00
Jon Dufresne
3972628de3 bpo-30296 Remove unnecessary tuples, lists, sets, and dicts (#1489)
* Replaced list(<generator expression>) with list comprehension
* Replaced dict(<generator expression>) with dict comprehension
* Replaced set(<list literal>) with set literal
* Replaced builtin func(<list comprehension>) with func(<generator
  expression>) when supported (e.g. any(), all(), tuple(), min(), &
  max())
2017-05-18 07:35:54 -07:00
Serhiy Storchaka
2e576f5aec bpo-30144: Import collections ABC from collections.abc rather than collections. (#1263) 2017-04-24 09:05:00 +03:00
Коренберг Марк
1b038e0738 bpo-29808: SysLogHandler: Do not fail if initial connect to syslog failed (#663) (#663) 2017-03-17 15:25:05 +00:00
Vinay Sajip
d4f5001bac Issue #29220: Merged fixes from 3.6. 2017-01-11 17:44:07 +00:00
Vinay Sajip
a861d48817 Issue #292Merged fixes from 3.5. 2017-01-11 17:41:28 +00:00
Vinay Sajip
924aaae4c2 Issue #29220: Improved fix and test. 2017-01-11 17:35:36 +00:00
Vinay Sajip
8b866d5429 Closes #29220: Fixed regression in logging.getLevelName(). 2017-01-11 06:57:55 +00:00
Vinay Sajip
d489ac9102 Closes #28524: added default level for logging.disable(). 2016-12-31 11:40:11 +00:00
Vinay Sajip
b74034351f Issue #28335: made minor improvement to implementation. 2016-10-03 19:50:56 +01:00
Vinay Sajip
aa27582f35 Closes #28335: used 'raise from' in logging configuration code. 2016-10-03 19:45:50 +01:00
Vinay Sajip
d61910c598 Fixes #27930: improved QueueListener behaviour. 2016-09-08 01:13:39 +01:00
Vinay Sajip
ab7b0a03b5 Fixes #27937: optimise code used in all logging calls. 2016-09-03 16:50:09 +01:00
Vinay Sajip
93e6b3314d Closes #27930: Merged fix from 3.5. 2016-09-08 01:24:12 +01:00
Vinay Sajip
2500c98278 Closes #27935: returned numeric value for 'FATAL' logging level. 2016-09-03 17:04:36 +01:00
Vinay Sajip
0a7b7e30ff Fixes #27937: optimise code used in all logging calls. 2016-09-03 15:56:07 +01:00
Vinay Sajip
c075201147 Closes #27650: Implemented repr methods for logging objects. 2016-08-06 10:28:31 +01:00
Vinay Sajip
638e622055 Closes #27493: accepted Path objects in file handlers for logging. 2016-07-22 18:23:04 +01:00
Vinay Sajip
cccf6068fa Closes #26559: Allow configuring flush-on-close behaviour of MemoryHandler. 2016-07-22 16:27:31 +01:00
Vinay Sajip
24a72ca239 Fixed #27251: merged fix from 3.5. 2016-06-07 21:20:39 +01:00
Vinay Sajip
1bf197eb14 Fixed #27251: corrected string/bytes handling in credentials. 2016-06-07 21:19:55 +01:00
Georg Brandl
6d6dd73aec merge with 3.5 2016-02-25 20:18:00 +01:00
Georg Brandl
8c16cb9f65 Closes #26435: fix syntax in directives. Thanks to Jakub Stasiak. 2016-02-25 20:17:45 +01:00
Vinay Sajip
c1681674d4 Closes #25685: Merged fix from 3.5. 2015-12-26 12:51:43 +00:00