Commit Graph

470 Commits

Author SHA1 Message Date
Serhiy Storchaka 96aeaec647
bpo-36793: Remove unneeded __str__ definitions. (GH-13081)
Classes that define __str__ the same as __repr__ can
just inherit it from object.
2019-05-06 22:29:40 +03:00
Rémi Lapeyre 65f64b1903 bpo-36272: Logging now propagates RecursionError (GH-12312) 2019-03-15 06:53:34 +00:00
Manjusaka da6424e96a bpo-35726: Prevented QueueHandler formatting from affecting other handlers (GH-11537)
QueueHandler.prepare() now makes a copy of the record before modifying and enqueueing it, to avoid affecting other handlers in the chain.
2019-01-23 07:08:38 +00:00
Josh Snyder b7d62050e7 bpo-35046: do only one system call per line (logging.StreamHandler) (GH-10042) 2018-10-23 07:48:38 +01:00
BNMetrics 18fb1fb943 bpo-34844: logging.Formatter enhancement - Ensure style and format string matches in logging.Formatter (GH-9703) 2018-10-15 19:41:36 +01:00
Cheryl Sabella d345bb4d9b bpo-34334: Don't log traceback twice in QueueHandler (GH-9537) 2018-09-26 00:00:08 +01:00
Gregory P. Smith 19003841e9
bpo-6721: Hold logging locks across fork() (GH-4071)
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.
2018-09-13 22:08:31 -07:00
Vinay Sajip d3d3171da8
bpo-34415: Updated logging.Formatter docstring. (GH-8811) 2018-08-19 05:14:19 +01:00
Xtreak 087570af6d bpo-33978: Close existing handlers before logging (re-)configuration. (GH-8008) 2018-07-02 09:57:46 +01:00
Dong-hee Na cf67d6a934 bpo-33897: Add a 'force' keyword argument to logging.basicConfig(). (GH-7873) 2018-06-25 05:11:09 +01:00
Vinay Sajip dde9fdbe45
bpo-33165: Added stacklevel parameter to logging APIs. (GH-7424) 2018-06-05 17:24:18 +01:00
Timo Furrer 6e3ca645e7 bpo-33606: improve logging performance when logger is disabled (GH-7285)
A check has been added in Logger.isEnabledFor() to return False when the logger is disabled. This avoids unnecessary work being done when a disabled logger is used.
2018-06-01 08:29:46 +01:00
Vinay Sajip c4994dc00d
bpo-33400: Clarified documentation to indicate no strict adherence to ISO 8601. (GH-6702) 2018-05-04 22:20:54 +01:00
Serhiy Storchaka 3f2e6f15d6
Revert unneccessary changes made in bpo-30296 and apply other improvements. (GH-2624) 2018-02-26 16:50:11 +02: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
Vinay Sajip 9cdfd18fc6 Closes #25685: Made SocketHandler emission more efficient. 2015-12-26 12:48:44 +00:00
Martin Panter 19e69c5a20 Issue #23883: Add missing APIs to __all__; patch by Jacek Kołodziej 2015-11-14 12:46:42 +00:00
Vinay Sajip 03de71d136 Closes #25411: Merged fix from 3.5. 2015-10-17 16:24:23 +01:00
Vinay Sajip 3f445f799a Closes #25411: Merged fix from 3.4. 2015-10-17 16:17:52 +01:00
Vinay Sajip 277640af0f Closes #25411: Improved Unicode support in SMTPHandler. 2015-10-17 16:13:10 +01:00
Vinay Sajip 29a1445136 Closes #24884: refactored WatchedFileHandler file reopening into a separate method, based on a suggestion and patch by Marian Horban. 2015-10-01 20:54:41 +01:00
Serhiy Storchaka 7e7a3dba5f Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:24:41 +03:00
Serhiy Storchaka 2116b12da5 Issue #23865: close() methods in multiple modules now are idempotent and more
robust at shutdown. If needs to release multiple resources, they are released
even if errors are occured.
2015-04-10 13:29:28 +03:00
Vinay Sajip 3505bd82a9 Issue #23207: merged fix from 3.4. 2015-03-18 08:49:57 +00:00
Vinay Sajip d55436ace3 Issue #23207: Improved kwarg validation. 2015-03-18 08:47:58 +00:00
Vinay Sajip 365701add9 Added respect_handler_level to QueueListener. 2015-02-09 19:49:00 +00:00
Vinay Sajip ecb5de3d5e Closes #23207: logging.basicConfig() now does additional validation of its arguments. 2015-01-23 19:54:23 +00:00
Vinay Sajip 5abca7023c Issue #23207: logging.basicConfig() now does additional validation of its arguments. 2015-01-23 19:52:21 +00:00
Vinay Sajip 02980426d0 Closes #21980: Added a __repr__ for LogRecord. 2015-01-06 11:19:42 +00:00
Vinay Sajip 2fb1efe4f4 Closes #23151: Removed unnecessary initialization. 2015-01-06 10:56:09 +00:00
Benjamin Peterson 43052a14c1 add context parameter to HTTPHandler (closes #22788) 2014-11-23 20:36:44 -06:00
Benjamin Peterson 6c22e65773 merge 3.4 (#22788) 2014-11-23 20:38:13 -06:00
Vinay Sajip 1be0c61882 Closes #22776: Merged fix from 3.4. 2014-11-01 20:00:56 +00:00
Vinay Sajip c33a0cc61e Brought excluded code into the scope of a try block in SysLogHandler.emit(). 2014-11-01 19:58:47 +00:00
Vinay Sajip c2c62b13ce Closes #22646: Accept list as well as tuple to support initialisation via dictConfig(). 2014-10-17 08:52:20 +01:00
Vinay Sajip 16c41ab460 Issue #22646: Accept list as well as tuple to support initialisation via dictConfig(). 2014-10-17 08:49:38 +01:00
Vinay Sajip 02a8f9e9ac Closes #20537: logging methods now accept an exception instance as well as a Boolean value or exception tuple. Thanks to Yury Selivanov for the patch. 2014-09-14 21:29:11 +01:00
Vinay Sajip a56411e5d4 Closes #22386: merged fix from 3.4. 2014-09-11 23:08:48 +01:00
Vinay Sajip d1d4fbff63 Issue #22386: fixed regression. 2014-09-11 23:06:09 +01:00
Vinay Sajip f8e9ba0fb9 Closes #21742: Merged fix from 3.4. 2014-06-14 10:23:20 +01:00
Vinay Sajip 0220048083 Issue #21742: Set stream to None after closing. 2014-06-14 10:22:05 +01:00
Vinay Sajip b6cf631f9c Issue #21709: Merged update from 3.4. 2014-06-12 23:38:16 +01:00
Vinay Sajip 194bcaf4dc Issue #21709: Improved implementation to cover the frozen module case. 2014-06-12 23:36:33 +01:00
Vinay Sajip 99537627fd Closes #21709: Merged fix from 3.4. 2014-06-11 08:04:16 +01:00
Vinay Sajip 80f2262dcf Issue #21709: Remove references to __file__ when part of a frozen application. 2014-06-11 08:01:32 +01:00
Vinay Sajip ddbd2ee6e5 Closes #21203: Updated fileConfig and dictConfig to remove inconsistencies. Thanks to Jure Koren for the patch. 2014-04-15 14:24:53 +01:00
Vinay Sajip 1b7611405d Issue #21172: isinstance check relaxed from dict to collections.Mapping. 2014-04-10 07:12:19 +01:00
Vinay Sajip 156307bfd6 Issue #21149: Improved thread-safety in logging cleanup during interpreter shutdown. 2014-04-04 10:51:49 +01:00
Vinay Sajip b1698d4030 Issue #20444: Reduced code duplication. 2014-03-20 13:14:39 +00:00
Vinay Sajip 71dcb28d1c Issue #20558: Improved implementation of error handling. 2014-03-20 13:03:17 +00:00
Victor Stinner 7fa767e517 Issue #20976: pyflakes: Remove unused imports 2014-03-20 09:16:38 +01:00
Vinay Sajip 698abe75d4 Closes #20918: Added handling for exceptions during fallback output of logging exceptions. 2014-03-14 13:42:19 +00:00
Vinay Sajip 30e6a64e76 Closes #20242: Merged fix from 3.3. 2014-01-13 22:01:16 +00:00
Vinay Sajip 1fd1202072 Issue #20242: Fixed basicConfig() format strings for the alternative formatting styles. 2014-01-13 21:59:56 +00:00
Vinay Sajip a76157dca6 Issue #19523: Closed FileHandler leak which occurred when delay was set. 2013-11-15 20:40:27 +00:00
Vinay Sajip 5e75829ec3 Closes #19523: Merged fix from 3.3. 2013-11-15 20:42:47 +00:00
Vinay Sajip 38c741c1fc Issue #19182: Fixed socket leak on exception when connecting. 2013-10-06 18:36:00 +01:00
Vinay Sajip 5421f35d5e logging: added support for Unix domain sockets to SocketHandler and DatagramHandler. 2013-09-27 18:18:28 +01:00
Vinay Sajip f7b436ce8d Closes #18941: Merged fix from 3.3. 2013-09-06 10:26:48 +01:00
Vinay Sajip 43c6ef1899 Issue #18941: Respected delay when doing rollover. 2013-09-06 10:25:31 +01:00
Vinay Sajip a92a3564a9 Closes #18940: Merged fix from 3.3. 2013-09-06 10:11:37 +01:00
Vinay Sajip d859926b29 Issue #18940: Handled low-volume logging when delay is True. 2013-09-06 10:10:22 +01:00
Vinay Sajip 3f58277382 Closes #18671: Output more information when logging exceptions occur. 2013-08-08 18:28:53 +01:00