Differences between revisions 8 and 10 (spanning 2 versions)
Revision 8 as of 2009-07-31 16:31:47
Size: 1079
Editor: p5B2BC63B
Comment:
Revision 10 as of 2009-07-31 19:27:29
Size: 1118
Editor: c-75-72-207-17
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
* Almost every feature you could want from logging package is there  * Almost every feature you could want from logging package is there
Line 9: Line 9:
* Docs are not complete

* Config files are a little bit hard to comprehend
 * Docs are not complete
 * Config files are a little bit hard to comprehend
Line 14: Line 12:

* API uses camelCase (goes against PEP8 recommendation and most of the stdlib)

* Rather slow considering the large number of function calls performed internally to check which handler to use

* Doesn't have runtime scoping (i.e., log messages handled based on the call stack)

* Difficult to extend log records

* Difficult to add general context to log messages (e.g., add the request URL to all logging messages during the request)

* By default it does nothing; basicConfig makes it do something but makes it hard to tweak logging.

* filters are an abstract class instead of callables
 * API uses camelCase (goes against PEP8 recommendation and most of the stdlib)
 * Rather slow considering the large number of function calls performed internally to check which handler to use
 * Doesn't have runtime scoping (i.e., log messages handled based on the call stack)
 * Difficult to extend log records
 * Difficult to add general context to log messages (e.g., add the request URL to all logging messages during the request)
 * By default it does nothing; basicConfig makes it do something but makes it hard to tweak logging.
 * filters are an abstract class instead of callables
 * Thread-local handlers aren't easy to setup

This page should cover pros and cons of current stdlib logging package.

Pros

  • Almost every feature you could want from logging package is there

Cons

  • Docs are not complete
  • Config files are a little bit hard to comprehend
    • An alternate configuration mechanism is provided by the ZConfig package (PyPI). (Note ZConfig is not a small package to pull in.)

  • API uses camelCase (goes against PEP8 recommendation and most of the stdlib)
  • Rather slow considering the large number of function calls performed internally to check which handler to use
  • Doesn't have runtime scoping (i.e., log messages handled based on the call stack)
  • Difficult to extend log records
  • Difficult to add general context to log messages (e.g., add the request URL to all logging messages during the request)
  • By default it does nothing; basicConfig makes it do something but makes it hard to tweak logging.
  • filters are an abstract class instead of callables
  • Thread-local handlers aren't easy to setup

LoggingPackage (last edited 2012-03-15 12:46:11 by VinaySajip)

Unable to edit the page? See the FrontPage for instructions.