__init__.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # -*- test-case-name: twisted.logger.test -*-
  2. # Copyright (c) Twisted Matrix Laboratories.
  3. # See LICENSE for details.
  4. """
  5. Twisted Logger: Classes and functions to do granular logging.
  6. Example usage in a module C{some.module}::
  7. from twisted.logger import Logger
  8. log = Logger()
  9. def handleData(data):
  10. log.debug("Got data: {data!r}.", data=data)
  11. Or in a class::
  12. from twisted.logger import Logger
  13. class Foo(object):
  14. log = Logger()
  15. def oops(self, data):
  16. self.log.error("Oops! Invalid data from server: {data!r}",
  17. data=data)
  18. C{Logger}s have namespaces, for which logging can be configured independently.
  19. Namespaces may be specified by passing in a C{namespace} argument to L{Logger}
  20. when instantiating it, but if none is given, the logger will derive its own
  21. namespace by using the module name of the callable that instantiated it, or, in
  22. the case of a class, by using the fully qualified name of the class.
  23. In the first example above, the namespace would be C{some.module}, and in the
  24. second example, it would be C{some.module.Foo}.
  25. @var globalLogPublisher: The L{LogPublisher} that all L{Logger} instances that
  26. are not otherwise parameterized will point to by default.
  27. @type globalLogPublisher: L{LogPublisher}
  28. @var globalLogBeginner: The L{LogBeginner} used to activate the main log
  29. observer, whether it's a log file, or an observer pointing at stderr.
  30. @type globalLogBeginner: L{LogBeginner}
  31. """
  32. __all__ = [
  33. # From ._levels
  34. "InvalidLogLevelError", "LogLevel",
  35. # From ._format
  36. "formatEvent", "formatEventAsClassicLogText",
  37. "formatTime", "timeFormatRFC3339",
  38. # From ._flatten
  39. "extractField",
  40. # From ._logger
  41. "Logger", "_loggerFor",
  42. # From ._observer
  43. "ILogObserver", "LogPublisher",
  44. # From ._buffer
  45. "LimitedHistoryLogObserver",
  46. # From ._file
  47. "FileLogObserver", "textFileLogObserver",
  48. # From ._filter
  49. "PredicateResult", "ILogFilterPredicate",
  50. "FilteringLogObserver", "LogLevelFilterPredicate",
  51. # From ._stdlib
  52. "STDLibLogObserver",
  53. # From ._io
  54. "LoggingFile",
  55. # From ._legacy
  56. "LegacyLogObserverWrapper",
  57. # From ._global
  58. "globalLogPublisher", "globalLogBeginner", "LogBeginner",
  59. # From ._json
  60. "eventAsJSON", "eventFromJSON",
  61. "jsonFileLogObserver", "eventsFromJSONLogFile",
  62. ]
  63. from ._levels import InvalidLogLevelError, LogLevel
  64. from ._flatten import extractField
  65. from ._format import (
  66. formatEvent, formatEventAsClassicLogText, formatTime, timeFormatRFC3339,
  67. )
  68. from ._logger import Logger, _loggerFor
  69. from ._observer import ILogObserver, LogPublisher
  70. from ._buffer import LimitedHistoryLogObserver
  71. from ._file import FileLogObserver, textFileLogObserver
  72. from ._filter import (
  73. PredicateResult, ILogFilterPredicate, FilteringLogObserver,
  74. LogLevelFilterPredicate
  75. )
  76. from ._stdlib import STDLibLogObserver
  77. from ._io import LoggingFile
  78. from ._legacy import LegacyLogObserverWrapper
  79. from ._global import (
  80. globalLogPublisher, globalLogBeginner, LogBeginner
  81. )
  82. from ._json import (
  83. eventAsJSON, eventFromJSON,
  84. jsonFileLogObserver, eventsFromJSONLogFile
  85. )