logly 0.2.4__tar.gz → 0.2.5__tar.gz

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.
Files changed (394) hide show
  1. {logly-0.2.4 → logly-0.2.5}/Cargo.lock +26 -38
  2. {logly-0.2.4 → logly-0.2.5}/Cargo.toml +2 -5
  3. {logly-0.2.4 → logly-0.2.5}/PKG-INFO +4 -4
  4. {logly-0.2.4 → logly-0.2.5}/README.md +3 -3
  5. logly-0.2.5/benchmarks/micro.py +92 -0
  6. {logly-0.2.4 → logly-0.2.5}/crates/README.md +1 -6
  7. {logly-0.2.4 → logly-0.2.5}/crates/color/src/lib.rs +503 -164
  8. {logly-0.2.4 → logly-0.2.5}/crates/compress/src/lib.rs +199 -53
  9. {logly-0.2.4 → logly-0.2.5}/crates/record/src/lib.rs +16 -0
  10. {logly-0.2.4 → logly-0.2.5}/crates/rotate/src/lib.rs +91 -1
  11. {logly-0.2.4 → logly-0.2.5}/crates/sink/src/lib.rs +148 -9
  12. {logly-0.2.4 → logly-0.2.5}/docs/api-reference/logger.md +31 -24
  13. {logly-0.2.4 → logly-0.2.5}/docs/examples/color-markup.md +2 -1
  14. {logly-0.2.4 → logly-0.2.5}/docs/guides/color-markup.md +16 -3
  15. {logly-0.2.4 → logly-0.2.5}/docs/guides/concurrency.md +30 -0
  16. {logly-0.2.4 → logly-0.2.5}/docs/guides/custom-levels.md +7 -0
  17. {logly-0.2.4 → logly-0.2.5}/docs/guides/environment-variables.md +6 -7
  18. {logly-0.2.4 → logly-0.2.5}/docs/guides/exception-handling.md +36 -0
  19. {logly-0.2.4 → logly-0.2.5}/docs/guides/file-logging.md +15 -3
  20. {logly-0.2.4 → logly-0.2.5}/docs/guides/formatting.md +12 -0
  21. {logly-0.2.4 → logly-0.2.5}/docs/guides/rotation-retention-compression.md +25 -0
  22. {logly-0.2.4 → logly-0.2.5}/docs/guides/sinks.md +2 -1
  23. {logly-0.2.4 → logly-0.2.5}/docs/guides/switching-from-other-libraries.md +1 -1
  24. logly-0.2.5/examples/custom_rotation.py +32 -0
  25. {logly-0.2.4 → logly-0.2.5}/logly/_logly.pyi +78 -23
  26. {logly-0.2.4 → logly-0.2.5}/logly/logger.py +719 -172
  27. {logly-0.2.4 → logly-0.2.5}/logly/models.py +9 -3
  28. {logly-0.2.4 → logly-0.2.5}/pyproject.toml +3 -0
  29. {logly-0.2.4 → logly-0.2.5}/src/lib.rs +253 -79
  30. logly-0.2.5/tests/test_bracket_markup_regression.py +385 -0
  31. logly-0.2.5/tests/test_catch_variants.py +198 -0
  32. {logly-0.2.4 → logly-0.2.5}/tests/test_compression.py +24 -0
  33. logly-0.2.4/tests/test_issue_135_136_regression.py → logly-0.2.5/tests/test_exception_catch_regression.py +7 -7
  34. logly-0.2.5/tests/test_logger_extras.py +157 -0
  35. logly-0.2.5/tests/test_sink_configuration.py +348 -0
  36. logly-0.2.4/crates/context/Cargo.toml +0 -7
  37. logly-0.2.4/crates/context/src/lib.rs +0 -435
  38. {logly-0.2.4 → logly-0.2.5}/.github/FUNDING.yml +0 -0
  39. {logly-0.2.4 → logly-0.2.5}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  40. {logly-0.2.4 → logly-0.2.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  41. {logly-0.2.4 → logly-0.2.5}/.github/ISSUE_TEMPLATE/docs_issue.yml +0 -0
  42. {logly-0.2.4 → logly-0.2.5}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  43. {logly-0.2.4 → logly-0.2.5}/.github/ISSUE_TEMPLATE/help_wanted.yml +0 -0
  44. {logly-0.2.4 → logly-0.2.5}/.github/dependabot.yml +0 -0
  45. {logly-0.2.4 → logly-0.2.5}/.github/pull_request_template.md +0 -0
  46. {logly-0.2.4 → logly-0.2.5}/.github/workflows/docs_publish.yml +0 -0
  47. {logly-0.2.4 → logly-0.2.5}/.github/workflows/pypi_publish.yml +0 -0
  48. {logly-0.2.4 → logly-0.2.5}/.github/workflows/testing.yml +0 -0
  49. {logly-0.2.4 → logly-0.2.5}/.gitignore +0 -0
  50. {logly-0.2.4 → logly-0.2.5}/.pre-commit-config.yaml +0 -0
  51. {logly-0.2.4 → logly-0.2.5}/CODE_OF_CONDUCT.md +0 -0
  52. {logly-0.2.4 → logly-0.2.5}/CONTRIBUTING.md +0 -0
  53. {logly-0.2.4 → logly-0.2.5}/LICENSE +0 -0
  54. {logly-0.2.4 → logly-0.2.5}/crates/color/Cargo.toml +0 -0
  55. {logly-0.2.4 → logly-0.2.5}/crates/compress/Cargo.toml +0 -0
  56. {logly-0.2.4 → logly-0.2.5}/crates/concurrency/Cargo.toml +0 -0
  57. {logly-0.2.4 → logly-0.2.5}/crates/concurrency/src/lib.rs +0 -0
  58. {logly-0.2.4 → logly-0.2.5}/crates/config/Cargo.toml +0 -0
  59. {logly-0.2.4 → logly-0.2.5}/crates/config/src/lib.rs +0 -0
  60. {logly-0.2.4 → logly-0.2.5}/crates/core/Cargo.toml +0 -0
  61. {logly-0.2.4 → logly-0.2.5}/crates/core/src/lib.rs +0 -0
  62. {logly-0.2.4 → logly-0.2.5}/crates/error/Cargo.toml +0 -0
  63. {logly-0.2.4 → logly-0.2.5}/crates/error/src/lib.rs +0 -0
  64. {logly-0.2.4 → logly-0.2.5}/crates/filter/Cargo.toml +0 -0
  65. {logly-0.2.4 → logly-0.2.5}/crates/filter/src/lib.rs +0 -0
  66. {logly-0.2.4 → logly-0.2.5}/crates/format/Cargo.toml +0 -0
  67. {logly-0.2.4 → logly-0.2.5}/crates/format/src/lib.rs +0 -0
  68. {logly-0.2.4 → logly-0.2.5}/crates/levels/Cargo.toml +0 -0
  69. {logly-0.2.4 → logly-0.2.5}/crates/levels/src/lib.rs +0 -0
  70. {logly-0.2.4 → logly-0.2.5}/crates/network/Cargo.toml +0 -0
  71. {logly-0.2.4 → logly-0.2.5}/crates/network/src/lib.rs +0 -0
  72. {logly-0.2.4 → logly-0.2.5}/crates/record/Cargo.toml +0 -0
  73. {logly-0.2.4 → logly-0.2.5}/crates/rotate/Cargo.toml +0 -0
  74. {logly-0.2.4 → logly-0.2.5}/crates/sink/Cargo.toml +0 -0
  75. {logly-0.2.4 → logly-0.2.5}/crates/source/Cargo.toml +0 -0
  76. {logly-0.2.4 → logly-0.2.5}/crates/source/src/lib.rs +0 -0
  77. {logly-0.2.4 → logly-0.2.5}/docs/.gitignore +0 -0
  78. {logly-0.2.4 → logly-0.2.5}/docs/.vitepress/config.ts +0 -0
  79. {logly-0.2.4 → logly-0.2.5}/docs/.vitepress/theme/custom.css +0 -0
  80. {logly-0.2.4 → logly-0.2.5}/docs/.vitepress/theme/index.ts +0 -0
  81. {logly-0.2.4 → logly-0.2.5}/docs/CNAME +0 -0
  82. {logly-0.2.4 → logly-0.2.5}/docs/api-reference/exceptions.md +0 -0
  83. {logly-0.2.4 → logly-0.2.5}/docs/api-reference/index.md +0 -0
  84. {logly-0.2.4 → logly-0.2.5}/docs/api-reference/integrations.md +0 -0
  85. {logly-0.2.4 → logly-0.2.5}/docs/api-reference/models.md +0 -0
  86. {logly-0.2.4 → logly-0.2.5}/docs/comparison.md +0 -0
  87. {logly-0.2.4 → logly-0.2.5}/docs/css/custom.css +0 -0
  88. {logly-0.2.4 → logly-0.2.5}/docs/examples/basic-logging.md +0 -0
  89. {logly-0.2.4 → logly-0.2.5}/docs/examples/compression.md +0 -0
  90. {logly-0.2.4 → logly-0.2.5}/docs/examples/concurrency.md +0 -0
  91. {logly-0.2.4 → logly-0.2.5}/docs/examples/context-binding.md +0 -0
  92. {logly-0.2.4 → logly-0.2.5}/docs/examples/custom-levels.md +0 -0
  93. {logly-0.2.4 → logly-0.2.5}/docs/examples/django-integration.md +0 -0
  94. {logly-0.2.4 → logly-0.2.5}/docs/examples/enable-disable.md +0 -0
  95. {logly-0.2.4 → logly-0.2.5}/docs/examples/exception-handling.md +0 -0
  96. {logly-0.2.4 → logly-0.2.5}/docs/examples/fastapi-integration.md +0 -0
  97. {logly-0.2.4 → logly-0.2.5}/docs/examples/file-logging.md +0 -0
  98. {logly-0.2.4 → logly-0.2.5}/docs/examples/filtering.md +0 -0
  99. {logly-0.2.4 → logly-0.2.5}/docs/examples/formatting.md +0 -0
  100. {logly-0.2.4 → logly-0.2.5}/docs/examples/integration-catalog.md +0 -0
  101. {logly-0.2.4 → logly-0.2.5}/docs/examples/integrations.md +0 -0
  102. {logly-0.2.4 → logly-0.2.5}/docs/examples/json-logging.md +0 -0
  103. {logly-0.2.4 → logly-0.2.5}/docs/examples/lazy-evaluation.md +0 -0
  104. {logly-0.2.4 → logly-0.2.5}/docs/examples/multiple-sinks.md +0 -0
  105. {logly-0.2.4 → logly-0.2.5}/docs/examples/patching.md +0 -0
  106. {logly-0.2.4 → logly-0.2.5}/docs/examples/production-config.md +0 -0
  107. {logly-0.2.4 → logly-0.2.5}/docs/examples/rich-integration.md +0 -0
  108. {logly-0.2.4 → logly-0.2.5}/docs/examples/rotation.md +0 -0
  109. {logly-0.2.4 → logly-0.2.5}/docs/examples/stdlib-integration.md +0 -0
  110. {logly-0.2.4 → logly-0.2.5}/docs/getting-started.md +0 -0
  111. {logly-0.2.4 → logly-0.2.5}/docs/guides/async-sinks.md +0 -0
  112. {logly-0.2.4 → logly-0.2.5}/docs/guides/callbacks.md +0 -0
  113. {logly-0.2.4 → logly-0.2.5}/docs/guides/celery.md +0 -0
  114. {logly-0.2.4 → logly-0.2.5}/docs/guides/color-operations.md +0 -0
  115. {logly-0.2.4 → logly-0.2.5}/docs/guides/compression-options.md +0 -0
  116. {logly-0.2.4 → logly-0.2.5}/docs/guides/configure.md +0 -0
  117. {logly-0.2.4 → logly-0.2.5}/docs/guides/console-output.md +0 -0
  118. {logly-0.2.4 → logly-0.2.5}/docs/guides/context-binding.md +0 -0
  119. {logly-0.2.4 → logly-0.2.5}/docs/guides/custom-colors.md +0 -0
  120. {logly-0.2.4 → logly-0.2.5}/docs/guides/django.md +0 -0
  121. {logly-0.2.4 → logly-0.2.5}/docs/guides/exception-callbacks.md +0 -0
  122. {logly-0.2.4 → logly-0.2.5}/docs/guides/faq.md +0 -0
  123. {logly-0.2.4 → logly-0.2.5}/docs/guides/fastapi.md +0 -0
  124. {logly-0.2.4 → logly-0.2.5}/docs/guides/file-directories.md +0 -0
  125. {logly-0.2.4 → logly-0.2.5}/docs/guides/filter-features.md +0 -0
  126. {logly-0.2.4 → logly-0.2.5}/docs/guides/filtering.md +0 -0
  127. {logly-0.2.4 → logly-0.2.5}/docs/guides/flask.md +0 -0
  128. {logly-0.2.4 → logly-0.2.5}/docs/guides/gunicorn.md +0 -0
  129. {logly-0.2.4 → logly-0.2.5}/docs/guides/independent-loggers.md +0 -0
  130. {logly-0.2.4 → logly-0.2.5}/docs/guides/logging-handlers.md +0 -0
  131. {logly-0.2.4 → logly-0.2.5}/docs/guides/network-config.md +0 -0
  132. {logly-0.2.4 → logly-0.2.5}/docs/guides/network-logging.md +0 -0
  133. {logly-0.2.4 → logly-0.2.5}/docs/guides/parse.md +0 -0
  134. {logly-0.2.4 → logly-0.2.5}/docs/guides/propagate.md +0 -0
  135. {logly-0.2.4 → logly-0.2.5}/docs/guides/queue-async.md +0 -0
  136. {logly-0.2.4 → logly-0.2.5}/docs/guides/rich-console.md +0 -0
  137. {logly-0.2.4 → logly-0.2.5}/docs/guides/scheduler.md +0 -0
  138. {logly-0.2.4 → logly-0.2.5}/docs/guides/source-location-timestamps.md +0 -0
  139. {logly-0.2.4 → logly-0.2.5}/docs/guides/source-location.md +0 -0
  140. {logly-0.2.4 → logly-0.2.5}/docs/guides/stdlib-logging.md +0 -0
  141. {logly-0.2.4 → logly-0.2.5}/docs/guides/structlog.md +0 -0
  142. {logly-0.2.4 → logly-0.2.5}/docs/guides/telemetry.md +0 -0
  143. {logly-0.2.4 → logly-0.2.5}/docs/guides/troubleshooting.md +0 -0
  144. {logly-0.2.4 → logly-0.2.5}/docs/guides/uvicorn.md +0 -0
  145. {logly-0.2.4 → logly-0.2.5}/docs/index.md +0 -0
  146. {logly-0.2.4 → logly-0.2.5}/docs/integrations/apscheduler.md +0 -0
  147. {logly-0.2.4 → logly-0.2.5}/docs/integrations/aws_cloudwatch.md +0 -0
  148. {logly-0.2.4 → logly-0.2.5}/docs/integrations/azure_monitor.md +0 -0
  149. {logly-0.2.4 → logly-0.2.5}/docs/integrations/celery.md +0 -0
  150. {logly-0.2.4 → logly-0.2.5}/docs/integrations/click.md +0 -0
  151. {logly-0.2.4 → logly-0.2.5}/docs/integrations/datadog.md +0 -0
  152. {logly-0.2.4 → logly-0.2.5}/docs/integrations/discord.md +0 -0
  153. {logly-0.2.4 → logly-0.2.5}/docs/integrations/django.md +0 -0
  154. {logly-0.2.4 → logly-0.2.5}/docs/integrations/elasticsearch.md +0 -0
  155. {logly-0.2.4 → logly-0.2.5}/docs/integrations/email.md +0 -0
  156. {logly-0.2.4 → logly-0.2.5}/docs/integrations/fastapi.md +0 -0
  157. {logly-0.2.4 → logly-0.2.5}/docs/integrations/flask.md +0 -0
  158. {logly-0.2.4 → logly-0.2.5}/docs/integrations/google_cloud_logging.md +0 -0
  159. {logly-0.2.4 → logly-0.2.5}/docs/integrations/graylog.md +0 -0
  160. {logly-0.2.4 → logly-0.2.5}/docs/integrations/gunicorn.md +0 -0
  161. {logly-0.2.4 → logly-0.2.5}/docs/integrations/http.md +0 -0
  162. {logly-0.2.4 → logly-0.2.5}/docs/integrations/index.md +0 -0
  163. {logly-0.2.4 → logly-0.2.5}/docs/integrations/kafka.md +0 -0
  164. {logly-0.2.4 → logly-0.2.5}/docs/integrations/logstash.md +0 -0
  165. {logly-0.2.4 → logly-0.2.5}/docs/integrations/loki.md +0 -0
  166. {logly-0.2.4 → logly-0.2.5}/docs/integrations/mongodb.md +0 -0
  167. {logly-0.2.4 → logly-0.2.5}/docs/integrations/newrelic.md +0 -0
  168. {logly-0.2.4 → logly-0.2.5}/docs/integrations/opentelemetry.md +0 -0
  169. {logly-0.2.4 → logly-0.2.5}/docs/integrations/postgresql.md +0 -0
  170. {logly-0.2.4 → logly-0.2.5}/docs/integrations/prometheus.md +0 -0
  171. {logly-0.2.4 → logly-0.2.5}/docs/integrations/propagate.md +0 -0
  172. {logly-0.2.4 → logly-0.2.5}/docs/integrations/rabbitmq.md +0 -0
  173. {logly-0.2.4 → logly-0.2.5}/docs/integrations/redis.md +0 -0
  174. {logly-0.2.4 → logly-0.2.5}/docs/integrations/rich.md +0 -0
  175. {logly-0.2.4 → logly-0.2.5}/docs/integrations/rq.md +0 -0
  176. {logly-0.2.4 → logly-0.2.5}/docs/integrations/sentry.md +0 -0
  177. {logly-0.2.4 → logly-0.2.5}/docs/integrations/seq.md +0 -0
  178. {logly-0.2.4 → logly-0.2.5}/docs/integrations/slack.md +0 -0
  179. {logly-0.2.4 → logly-0.2.5}/docs/integrations/sqlalchemy.md +0 -0
  180. {logly-0.2.4 → logly-0.2.5}/docs/integrations/starlette.md +0 -0
  181. {logly-0.2.4 → logly-0.2.5}/docs/integrations/stdlib.md +0 -0
  182. {logly-0.2.4 → logly-0.2.5}/docs/integrations/structlog.md +0 -0
  183. {logly-0.2.4 → logly-0.2.5}/docs/integrations/telemetry.md +0 -0
  184. {logly-0.2.4 → logly-0.2.5}/docs/integrations/tqdm.md +0 -0
  185. {logly-0.2.4 → logly-0.2.5}/docs/integrations/typer.md +0 -0
  186. {logly-0.2.4 → logly-0.2.5}/docs/integrations/uvicorn.md +0 -0
  187. {logly-0.2.4 → logly-0.2.5}/docs/package.json +0 -0
  188. {logly-0.2.4 → logly-0.2.5}/docs/public/android-chrome-192x192.png +0 -0
  189. {logly-0.2.4 → logly-0.2.5}/docs/public/android-chrome-512x512.png +0 -0
  190. {logly-0.2.4 → logly-0.2.5}/docs/public/apple-touch-icon.png +0 -0
  191. {logly-0.2.4 → logly-0.2.5}/docs/public/cover.png +0 -0
  192. {logly-0.2.4 → logly-0.2.5}/docs/public/favicon-16x16.png +0 -0
  193. {logly-0.2.4 → logly-0.2.5}/docs/public/favicon-32x32.png +0 -0
  194. {logly-0.2.4 → logly-0.2.5}/docs/public/favicon.ico +0 -0
  195. {logly-0.2.4 → logly-0.2.5}/docs/public/logo.ico +0 -0
  196. {logly-0.2.4 → logly-0.2.5}/docs/public/logo.png +0 -0
  197. {logly-0.2.4 → logly-0.2.5}/docs/public/robots.txt +0 -0
  198. {logly-0.2.4 → logly-0.2.5}/docs/public/site.webmanifest +0 -0
  199. {logly-0.2.4 → logly-0.2.5}/examples/README.md +0 -0
  200. {logly-0.2.4 → logly-0.2.5}/examples/apscheduler_integration.py +0 -0
  201. {logly-0.2.4 → logly-0.2.5}/examples/aws_cloudwatch_integration.py +0 -0
  202. {logly-0.2.4 → logly-0.2.5}/examples/azure_monitor_integration.py +0 -0
  203. {logly-0.2.4 → logly-0.2.5}/examples/basic_logging.py +0 -0
  204. {logly-0.2.4 → logly-0.2.5}/examples/celery_integration.py +0 -0
  205. {logly-0.2.4 → logly-0.2.5}/examples/click_integration.py +0 -0
  206. {logly-0.2.4 → logly-0.2.5}/examples/color_markup.py +0 -0
  207. {logly-0.2.4 → logly-0.2.5}/examples/compression_example.py +0 -0
  208. {logly-0.2.4 → logly-0.2.5}/examples/concurrency.py +0 -0
  209. {logly-0.2.4 → logly-0.2.5}/examples/context_binding.py +0 -0
  210. {logly-0.2.4 → logly-0.2.5}/examples/custom_levels.py +0 -0
  211. {logly-0.2.4 → logly-0.2.5}/examples/datadog_integration.py +0 -0
  212. {logly-0.2.4 → logly-0.2.5}/examples/discord_integration.py +0 -0
  213. {logly-0.2.4 → logly-0.2.5}/examples/django_integration.py +0 -0
  214. {logly-0.2.4 → logly-0.2.5}/examples/elasticsearch_integration.py +0 -0
  215. {logly-0.2.4 → logly-0.2.5}/examples/email_integration.py +0 -0
  216. {logly-0.2.4 → logly-0.2.5}/examples/enable_disable.py +0 -0
  217. {logly-0.2.4 → logly-0.2.5}/examples/exception_handling.py +0 -0
  218. {logly-0.2.4 → logly-0.2.5}/examples/fastapi_integration.py +0 -0
  219. {logly-0.2.4 → logly-0.2.5}/examples/file_logging.py +0 -0
  220. {logly-0.2.4 → logly-0.2.5}/examples/filtering.py +0 -0
  221. {logly-0.2.4 → logly-0.2.5}/examples/flask_integration.py +0 -0
  222. {logly-0.2.4 → logly-0.2.5}/examples/formatting.py +0 -0
  223. {logly-0.2.4 → logly-0.2.5}/examples/google_cloud_logging_integration.py +0 -0
  224. {logly-0.2.4 → logly-0.2.5}/examples/graylog_integration.py +0 -0
  225. {logly-0.2.4 → logly-0.2.5}/examples/gunicorn_integration.py +0 -0
  226. {logly-0.2.4 → logly-0.2.5}/examples/http_integration.py +0 -0
  227. {logly-0.2.4 → logly-0.2.5}/examples/json_logging.py +0 -0
  228. {logly-0.2.4 → logly-0.2.5}/examples/kafka_integration.py +0 -0
  229. {logly-0.2.4 → logly-0.2.5}/examples/lazy_evaluation.py +0 -0
  230. {logly-0.2.4 → logly-0.2.5}/examples/logstash_integration.py +0 -0
  231. {logly-0.2.4 → logly-0.2.5}/examples/loki_integration.py +0 -0
  232. {logly-0.2.4 → logly-0.2.5}/examples/mongodb_integration.py +0 -0
  233. {logly-0.2.4 → logly-0.2.5}/examples/multiple_sinks.py +0 -0
  234. {logly-0.2.4 → logly-0.2.5}/examples/newrelic_integration.py +0 -0
  235. {logly-0.2.4 → logly-0.2.5}/examples/opentelemetry_integration.py +0 -0
  236. {logly-0.2.4 → logly-0.2.5}/examples/patching.py +0 -0
  237. {logly-0.2.4 → logly-0.2.5}/examples/postgresql_integration.py +0 -0
  238. {logly-0.2.4 → logly-0.2.5}/examples/production_config.py +0 -0
  239. {logly-0.2.4 → logly-0.2.5}/examples/prometheus_integration.py +0 -0
  240. {logly-0.2.4 → logly-0.2.5}/examples/propagate_integration.py +0 -0
  241. {logly-0.2.4 → logly-0.2.5}/examples/rabbitmq_integration.py +0 -0
  242. {logly-0.2.4 → logly-0.2.5}/examples/redis_integration.py +0 -0
  243. {logly-0.2.4 → logly-0.2.5}/examples/rich_integration.py +0 -0
  244. {logly-0.2.4 → logly-0.2.5}/examples/rotation_example.py +0 -0
  245. {logly-0.2.4 → logly-0.2.5}/examples/rq_integration.py +0 -0
  246. {logly-0.2.4 → logly-0.2.5}/examples/sentry_integration.py +0 -0
  247. {logly-0.2.4 → logly-0.2.5}/examples/seq_integration.py +0 -0
  248. {logly-0.2.4 → logly-0.2.5}/examples/slack_integration.py +0 -0
  249. {logly-0.2.4 → logly-0.2.5}/examples/sqlalchemy_integration.py +0 -0
  250. {logly-0.2.4 → logly-0.2.5}/examples/starlette_integration.py +0 -0
  251. {logly-0.2.4 → logly-0.2.5}/examples/stdlib_integration.py +0 -0
  252. {logly-0.2.4 → logly-0.2.5}/examples/structlog_integration.py +0 -0
  253. {logly-0.2.4 → logly-0.2.5}/examples/telemetry_integration.py +0 -0
  254. {logly-0.2.4 → logly-0.2.5}/examples/tqdm_integration.py +0 -0
  255. {logly-0.2.4 → logly-0.2.5}/examples/typer_integration.py +0 -0
  256. {logly-0.2.4 → logly-0.2.5}/examples/uvicorn_integration.py +0 -0
  257. {logly-0.2.4 → logly-0.2.5}/justfile +0 -0
  258. {logly-0.2.4 → logly-0.2.5}/logly/__init__.py +0 -0
  259. {logly-0.2.4 → logly-0.2.5}/logly/exceptions.py +0 -0
  260. {logly-0.2.4 → logly-0.2.5}/logly/integrations/__init__.py +0 -0
  261. {logly-0.2.4 → logly-0.2.5}/logly/integrations/_utils.py +0 -0
  262. {logly-0.2.4 → logly-0.2.5}/logly/integrations/apscheduler.py +0 -0
  263. {logly-0.2.4 → logly-0.2.5}/logly/integrations/aws_cloudwatch.py +0 -0
  264. {logly-0.2.4 → logly-0.2.5}/logly/integrations/azure_monitor.py +0 -0
  265. {logly-0.2.4 → logly-0.2.5}/logly/integrations/celery.py +0 -0
  266. {logly-0.2.4 → logly-0.2.5}/logly/integrations/click.py +0 -0
  267. {logly-0.2.4 → logly-0.2.5}/logly/integrations/datadog.py +0 -0
  268. {logly-0.2.4 → logly-0.2.5}/logly/integrations/discord.py +0 -0
  269. {logly-0.2.4 → logly-0.2.5}/logly/integrations/django.py +0 -0
  270. {logly-0.2.4 → logly-0.2.5}/logly/integrations/elasticsearch.py +0 -0
  271. {logly-0.2.4 → logly-0.2.5}/logly/integrations/email.py +0 -0
  272. {logly-0.2.4 → logly-0.2.5}/logly/integrations/fastapi.py +0 -0
  273. {logly-0.2.4 → logly-0.2.5}/logly/integrations/flask.py +0 -0
  274. {logly-0.2.4 → logly-0.2.5}/logly/integrations/google_cloud_logging.py +0 -0
  275. {logly-0.2.4 → logly-0.2.5}/logly/integrations/graylog.py +0 -0
  276. {logly-0.2.4 → logly-0.2.5}/logly/integrations/gunicorn.py +0 -0
  277. {logly-0.2.4 → logly-0.2.5}/logly/integrations/http.py +0 -0
  278. {logly-0.2.4 → logly-0.2.5}/logly/integrations/kafka.py +0 -0
  279. {logly-0.2.4 → logly-0.2.5}/logly/integrations/logstash.py +0 -0
  280. {logly-0.2.4 → logly-0.2.5}/logly/integrations/loki.py +0 -0
  281. {logly-0.2.4 → logly-0.2.5}/logly/integrations/mongodb.py +0 -0
  282. {logly-0.2.4 → logly-0.2.5}/logly/integrations/newrelic.py +0 -0
  283. {logly-0.2.4 → logly-0.2.5}/logly/integrations/opentelemetry.py +0 -0
  284. {logly-0.2.4 → logly-0.2.5}/logly/integrations/postgresql.py +0 -0
  285. {logly-0.2.4 → logly-0.2.5}/logly/integrations/prometheus.py +0 -0
  286. {logly-0.2.4 → logly-0.2.5}/logly/integrations/propagate.py +0 -0
  287. {logly-0.2.4 → logly-0.2.5}/logly/integrations/rabbitmq.py +0 -0
  288. {logly-0.2.4 → logly-0.2.5}/logly/integrations/redis.py +0 -0
  289. {logly-0.2.4 → logly-0.2.5}/logly/integrations/rich.py +0 -0
  290. {logly-0.2.4 → logly-0.2.5}/logly/integrations/rq.py +0 -0
  291. {logly-0.2.4 → logly-0.2.5}/logly/integrations/sentry.py +0 -0
  292. {logly-0.2.4 → logly-0.2.5}/logly/integrations/seq.py +0 -0
  293. {logly-0.2.4 → logly-0.2.5}/logly/integrations/slack.py +0 -0
  294. {logly-0.2.4 → logly-0.2.5}/logly/integrations/sqlalchemy.py +0 -0
  295. {logly-0.2.4 → logly-0.2.5}/logly/integrations/starlette.py +0 -0
  296. {logly-0.2.4 → logly-0.2.5}/logly/integrations/stdlib.py +0 -0
  297. {logly-0.2.4 → logly-0.2.5}/logly/integrations/structlog.py +0 -0
  298. {logly-0.2.4 → logly-0.2.5}/logly/integrations/telemetry.py +0 -0
  299. {logly-0.2.4 → logly-0.2.5}/logly/integrations/tqdm.py +0 -0
  300. {logly-0.2.4 → logly-0.2.5}/logly/integrations/typer.py +0 -0
  301. {logly-0.2.4 → logly-0.2.5}/logly/integrations/uvicorn.py +0 -0
  302. {logly-0.2.4 → logly-0.2.5}/logly/py.typed +0 -0
  303. {logly-0.2.4 → logly-0.2.5}/logly/typing.py +0 -0
  304. {logly-0.2.4 → logly-0.2.5}/tests/__init__.py +0 -0
  305. {logly-0.2.4 → logly-0.2.5}/tests/test_async_sinks.py +0 -0
  306. {logly-0.2.4 → logly-0.2.5}/tests/test_audit_regressions.py +0 -0
  307. {logly-0.2.4 → logly-0.2.5}/tests/test_callable_format_filter.py +0 -0
  308. {logly-0.2.4 → logly-0.2.5}/tests/test_catch_exceptions.py +0 -0
  309. {logly-0.2.4 → logly-0.2.5}/tests/test_catch_exclude.py +0 -0
  310. {logly-0.2.4 → logly-0.2.5}/tests/test_color_functions.py +0 -0
  311. {logly-0.2.4 → logly-0.2.5}/tests/test_color_output.py +0 -0
  312. {logly-0.2.4 → logly-0.2.5}/tests/test_comprehensive.py +0 -0
  313. {logly-0.2.4 → logly-0.2.5}/tests/test_concurrency_enqueue.py +0 -0
  314. {logly-0.2.4 → logly-0.2.5}/tests/test_concurrency_stress.py +0 -0
  315. {logly-0.2.4 → logly-0.2.5}/tests/test_configure.py +0 -0
  316. {logly-0.2.4 → logly-0.2.5}/tests/test_context_bind.py +0 -0
  317. {logly-0.2.4 → logly-0.2.5}/tests/test_copy.py +0 -0
  318. {logly-0.2.4 → logly-0.2.5}/tests/test_custom_levels.py +0 -0
  319. {logly-0.2.4 → logly-0.2.5}/tests/test_edge_cases.py +0 -0
  320. {logly-0.2.4 → logly-0.2.5}/tests/test_enable_disable.py +0 -0
  321. {logly-0.2.4 → logly-0.2.5}/tests/test_env_autoinit.py +0 -0
  322. {logly-0.2.4 → logly-0.2.5}/tests/test_exception_hierarchy.py +0 -0
  323. {logly-0.2.4 → logly-0.2.5}/tests/test_exception_method.py +0 -0
  324. {logly-0.2.4 → logly-0.2.5}/tests/test_exception_methods.py +0 -0
  325. {logly-0.2.4 → logly-0.2.5}/tests/test_filters.py +0 -0
  326. {logly-0.2.4 → logly-0.2.5}/tests/test_format_tokens.py +0 -0
  327. {logly-0.2.4 → logly-0.2.5}/tests/test_formatters.py +0 -0
  328. {logly-0.2.4 → logly-0.2.5}/tests/test_independent_loggers.py +0 -0
  329. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_apscheduler.py +0 -0
  330. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_aws_cloudwatch.py +0 -0
  331. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_azure_monitor.py +0 -0
  332. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_celery.py +0 -0
  333. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_click.py +0 -0
  334. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_datadog.py +0 -0
  335. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_discord.py +0 -0
  336. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_django.py +0 -0
  337. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_elasticsearch.py +0 -0
  338. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_email.py +0 -0
  339. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_fastapi.py +0 -0
  340. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_flask.py +0 -0
  341. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_google_cloud_logging.py +0 -0
  342. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_graylog.py +0 -0
  343. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_gunicorn.py +0 -0
  344. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_http.py +0 -0
  345. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_kafka.py +0 -0
  346. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_logstash.py +0 -0
  347. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_loki.py +0 -0
  348. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_mongodb.py +0 -0
  349. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_newrelic.py +0 -0
  350. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_opentelemetry.py +0 -0
  351. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_postgresql.py +0 -0
  352. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_prometheus.py +0 -0
  353. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_propagate.py +0 -0
  354. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_rabbitmq.py +0 -0
  355. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_redis.py +0 -0
  356. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_rich.py +0 -0
  357. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_rq.py +0 -0
  358. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_sentry.py +0 -0
  359. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_seq.py +0 -0
  360. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_slack.py +0 -0
  361. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_sqlalchemy.py +0 -0
  362. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_starlette.py +0 -0
  363. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_stdlib.py +0 -0
  364. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_structlog.py +0 -0
  365. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_telemetry.py +0 -0
  366. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_tqdm.py +0 -0
  367. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_typer.py +0 -0
  368. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_utils.py +0 -0
  369. {logly-0.2.4 → logly-0.2.5}/tests/test_integration_uvicorn.py +0 -0
  370. {logly-0.2.4 → logly-0.2.5}/tests/test_integrations.py +0 -0
  371. {logly-0.2.4 → logly-0.2.5}/tests/test_levels.py +0 -0
  372. {logly-0.2.4 → logly-0.2.5}/tests/test_logging_handler.py +0 -0
  373. {logly-0.2.4 → logly-0.2.5}/tests/test_logly.py +0 -0
  374. {logly-0.2.4 → logly-0.2.5}/tests/test_models.py +0 -0
  375. {logly-0.2.4 → logly-0.2.5}/tests/test_opt.py +0 -0
  376. {logly-0.2.4 → logly-0.2.5}/tests/test_opt_depth_capture.py +0 -0
  377. {logly-0.2.4 → logly-0.2.5}/tests/test_opt_parameters.py +0 -0
  378. {logly-0.2.4 → logly-0.2.5}/tests/test_opt_record.py +0 -0
  379. {logly-0.2.4 → logly-0.2.5}/tests/test_parse.py +0 -0
  380. {logly-0.2.4 → logly-0.2.5}/tests/test_parse_static.py +0 -0
  381. {logly-0.2.4 → logly-0.2.5}/tests/test_patch.py +0 -0
  382. {logly-0.2.4 → logly-0.2.5}/tests/test_python_sinks.py +0 -0
  383. {logly-0.2.4 → logly-0.2.5}/tests/test_raw_mode.py +0 -0
  384. {logly-0.2.4 → logly-0.2.5}/tests/test_reinstall.py +0 -0
  385. {logly-0.2.4 → logly-0.2.5}/tests/test_retention.py +0 -0
  386. {logly-0.2.4 → logly-0.2.5}/tests/test_root_dir.py +0 -0
  387. {logly-0.2.4 → logly-0.2.5}/tests/test_rotation.py +0 -0
  388. {logly-0.2.4 → logly-0.2.5}/tests/test_rotation_retention.py +0 -0
  389. {logly-0.2.4 → logly-0.2.5}/tests/test_serialize.py +0 -0
  390. {logly-0.2.4 → logly-0.2.5}/tests/test_sink_params.py +0 -0
  391. {logly-0.2.4 → logly-0.2.5}/tests/test_sinks_console.py +0 -0
  392. {logly-0.2.4 → logly-0.2.5}/tests/test_sinks_file.py +0 -0
  393. {logly-0.2.4 → logly-0.2.5}/tests/test_start_stop.py +0 -0
  394. {logly-0.2.4 → logly-0.2.5}/tests/test_warn_alias.py +0 -0
@@ -81,14 +81,14 @@ dependencies = [
81
81
 
82
82
  [[package]]
83
83
  name = "color"
84
- version = "0.2.4"
84
+ version = "0.2.5"
85
85
  dependencies = [
86
86
  "levels",
87
87
  ]
88
88
 
89
89
  [[package]]
90
90
  name = "compress"
91
- version = "0.2.4"
91
+ version = "0.2.5"
92
92
  dependencies = [
93
93
  "bzip2",
94
94
  "error",
@@ -100,23 +100,19 @@ dependencies = [
100
100
 
101
101
  [[package]]
102
102
  name = "concurrency"
103
- version = "0.2.4"
103
+ version = "0.2.5"
104
104
  dependencies = [
105
105
  "error",
106
106
  ]
107
107
 
108
108
  [[package]]
109
109
  name = "config"
110
- version = "0.2.4"
110
+ version = "0.2.5"
111
111
  dependencies = [
112
112
  "color",
113
113
  "error",
114
114
  ]
115
115
 
116
- [[package]]
117
- name = "context"
118
- version = "0.2.4"
119
-
120
116
  [[package]]
121
117
  name = "cookie"
122
118
  version = "0.18.2"
@@ -148,7 +144,7 @@ dependencies = [
148
144
 
149
145
  [[package]]
150
146
  name = "core"
151
- version = "0.2.4"
147
+ version = "0.2.5"
152
148
  dependencies = [
153
149
  "error",
154
150
  "filter",
@@ -207,11 +203,11 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
207
203
 
208
204
  [[package]]
209
205
  name = "error"
210
- version = "0.2.4"
206
+ version = "0.2.5"
211
207
 
212
208
  [[package]]
213
209
  name = "filter"
214
- version = "0.2.4"
210
+ version = "0.2.5"
215
211
  dependencies = [
216
212
  "error",
217
213
  "levels",
@@ -246,7 +242,7 @@ dependencies = [
246
242
 
247
243
  [[package]]
248
244
  name = "format"
249
- version = "0.2.4"
245
+ version = "0.2.5"
250
246
  dependencies = [
251
247
  "chrono",
252
248
  "error",
@@ -507,7 +503,7 @@ dependencies = [
507
503
 
508
504
  [[package]]
509
505
  name = "levels"
510
- version = "0.2.4"
506
+ version = "0.2.5"
511
507
  dependencies = [
512
508
  "error",
513
509
  ]
@@ -544,12 +540,11 @@ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
544
540
 
545
541
  [[package]]
546
542
  name = "logly"
547
- version = "0.2.4"
543
+ version = "0.2.5"
548
544
  dependencies = [
549
545
  "color",
550
546
  "compress",
551
547
  "config",
552
- "context",
553
548
  "core",
554
549
  "error",
555
550
  "filter",
@@ -592,7 +587,7 @@ dependencies = [
592
587
 
593
588
  [[package]]
594
589
  name = "network"
595
- version = "0.2.4"
590
+ version = "0.2.5"
596
591
  dependencies = [
597
592
  "chrono",
598
593
  "error",
@@ -747,7 +742,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
747
742
 
748
743
  [[package]]
749
744
  name = "record"
750
- version = "0.2.4"
745
+ version = "0.2.5"
751
746
  dependencies = [
752
747
  "levels",
753
748
  ]
@@ -768,7 +763,7 @@ dependencies = [
768
763
 
769
764
  [[package]]
770
765
  name = "rotate"
771
- version = "0.2.4"
766
+ version = "0.2.5"
772
767
  dependencies = [
773
768
  "chrono",
774
769
  "config",
@@ -816,13 +811,6 @@ version = "1.0.23"
816
811
  source = "registry+https://github.com/rust-lang/crates.io-index"
817
812
  checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
818
813
 
819
- [[package]]
820
- name = "schedule"
821
- version = "0.2.4"
822
- dependencies = [
823
- "error",
824
- ]
825
-
826
814
  [[package]]
827
815
  name = "serde"
828
816
  version = "1.0.229"
@@ -880,7 +868,7 @@ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
880
868
 
881
869
  [[package]]
882
870
  name = "sink"
883
- version = "0.2.4"
871
+ version = "0.2.5"
884
872
  dependencies = [
885
873
  "color",
886
874
  "compress",
@@ -908,7 +896,7 @@ checksum = "ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891"
908
896
 
909
897
  [[package]]
910
898
  name = "source"
911
- version = "0.2.4"
899
+ version = "0.2.5"
912
900
 
913
901
  [[package]]
914
902
  name = "stable_deref_trait"
@@ -946,13 +934,13 @@ dependencies = [
946
934
 
947
935
  [[package]]
948
936
  name = "synstructure"
949
- version = "0.13.2"
937
+ version = "0.14.0"
950
938
  source = "registry+https://github.com/rust-lang/crates.io-index"
951
- checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
939
+ checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02"
952
940
  dependencies = [
953
941
  "proc-macro2",
954
942
  "quote",
955
- "syn 2.0.119",
943
+ "syn 3.0.5",
956
944
  ]
957
945
 
958
946
  [[package]]
@@ -1041,9 +1029,9 @@ dependencies = [
1041
1029
 
1042
1030
  [[package]]
1043
1031
  name = "ureq-proto"
1044
- version = "0.6.3"
1032
+ version = "0.6.4"
1045
1033
  source = "registry+https://github.com/rust-lang/crates.io-index"
1046
- checksum = "5b0809a01d1ca5a51ca70db32bb2a19157582a526505ef3c19e3b343a59aa5ad"
1034
+ checksum = "f86fd172ccca569e458f61b6bdd6220965a9ef36e672a6852953b51a0e1583be"
1047
1035
  dependencies = [
1048
1036
  "base64",
1049
1037
  "http",
@@ -1301,13 +1289,13 @@ dependencies = [
1301
1289
 
1302
1290
  [[package]]
1303
1291
  name = "yoke-derive"
1304
- version = "0.8.2"
1292
+ version = "0.8.3"
1305
1293
  source = "registry+https://github.com/rust-lang/crates.io-index"
1306
- checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
1294
+ checksum = "33811428bee40dbceb6d545e95754741d17a6aef9a4849f0fd62e2ba4f412a78"
1307
1295
  dependencies = [
1308
1296
  "proc-macro2",
1309
1297
  "quote",
1310
- "syn 2.0.119",
1298
+ "syn 3.0.5",
1311
1299
  "synstructure",
1312
1300
  ]
1313
1301
 
@@ -1322,13 +1310,13 @@ dependencies = [
1322
1310
 
1323
1311
  [[package]]
1324
1312
  name = "zerofrom-derive"
1325
- version = "0.1.7"
1313
+ version = "0.1.8"
1326
1314
  source = "registry+https://github.com/rust-lang/crates.io-index"
1327
- checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
1315
+ checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a"
1328
1316
  dependencies = [
1329
1317
  "proc-macro2",
1330
1318
  "quote",
1331
- "syn 2.0.119",
1319
+ "syn 3.0.5",
1332
1320
  "synstructure",
1333
1321
  ]
1334
1322
 
@@ -1,9 +1,9 @@
1
1
  [workspace]
2
- members = ["crates/color", "crates/compress", "crates/concurrency", "crates/config", "crates/context", "crates/core", "crates/error", "crates/filter", "crates/format", "crates/levels", "crates/network", "crates/record", "crates/rotate", "crates/sink", "crates/source"]
2
+ members = ["crates/color", "crates/compress", "crates/concurrency", "crates/config", "crates/core", "crates/error", "crates/filter", "crates/format", "crates/levels", "crates/network", "crates/record", "crates/rotate", "crates/sink", "crates/source"]
3
3
  resolver = "2"
4
4
 
5
5
  [workspace.package]
6
- version = "0.2.4"
6
+ version = "0.2.5"
7
7
  edition = "2024"
8
8
  license = "MIT"
9
9
  readme = "README.md"
@@ -16,7 +16,6 @@ color = { path = "crates/color" }
16
16
  compress = { path = "crates/compress" }
17
17
  concurrency = { path = "crates/concurrency" }
18
18
  config = { path = "crates/config" }
19
- context = { path = "crates/context" }
20
19
  engine = { package = "core", path = "crates/core" }
21
20
  error = { path = "crates/error" }
22
21
  filter = { path = "crates/filter" }
@@ -25,7 +24,6 @@ levels = { path = "crates/levels" }
25
24
  network = { path = "crates/network" }
26
25
  record = { path = "crates/record" }
27
26
  rotate = { path = "crates/rotate" }
28
- schedule = { path = "crates/schedule" }
29
27
  sink = { path = "crates/sink" }
30
28
  source = { path = "crates/source" }
31
29
 
@@ -73,7 +71,6 @@ strip = "symbols"
73
71
  color.workspace = true
74
72
  compress.workspace = true
75
73
  config.workspace = true
76
- context.workspace = true
77
74
  engine.workspace = true
78
75
  error.workspace = true
79
76
  filter.workspace = true
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logly
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Requires-Dist: typing-extensions>=4.0 ; python_full_version < '3.11'
5
5
  Requires-Dist: rich>=14.2.0 ; extra == 'all'
6
6
  Requires-Dist: fastapi>=0.115.0 ; extra == 'all'
@@ -522,7 +522,7 @@ asyncio.run(main())
522
522
  ```python
523
523
  from logly import logger, parse_rich_markup
524
524
 
525
- # Loguru-style angle bracket syntax
525
+ # Angle-bracket syntax
526
526
  logger.info("<bold>Important</bold> message")
527
527
  logger.error("<red>Error:</red> something went wrong")
528
528
  logger.info("<bold, cyan>Combined styles</bold, cyan>")
@@ -543,7 +543,7 @@ from logly import BatchHttpJsonSink, logger
543
543
  sink = BatchHttpJsonSink(
544
544
  url="https://logs.example.com/ingest",
545
545
  batch_size=100,
546
- flush_interval=5.0,
546
+ flush_interval=5,
547
547
  headers={"Authorization": "Bearer token"},
548
548
  )
549
549
 
@@ -640,7 +640,7 @@ Contributions are welcome! Please feel free to submit a Pull Request.
640
640
 
641
641
  ## Acknowledgements
642
642
 
643
- Logly's Python API is inspired by Loguru and backed by an independent, from-scratch Rust implementation.
643
+ Logly is backed by an independent, from-scratch Rust implementation with a Python-native API.
644
644
 
645
645
  ---
646
646
 
@@ -414,7 +414,7 @@ asyncio.run(main())
414
414
  ```python
415
415
  from logly import logger, parse_rich_markup
416
416
 
417
- # Loguru-style angle bracket syntax
417
+ # Angle-bracket syntax
418
418
  logger.info("<bold>Important</bold> message")
419
419
  logger.error("<red>Error:</red> something went wrong")
420
420
  logger.info("<bold, cyan>Combined styles</bold, cyan>")
@@ -435,7 +435,7 @@ from logly import BatchHttpJsonSink, logger
435
435
  sink = BatchHttpJsonSink(
436
436
  url="https://logs.example.com/ingest",
437
437
  batch_size=100,
438
- flush_interval=5.0,
438
+ flush_interval=5,
439
439
  headers={"Authorization": "Bearer token"},
440
440
  )
441
441
 
@@ -532,7 +532,7 @@ Contributions are welcome! Please feel free to submit a Pull Request.
532
532
 
533
533
  ## Acknowledgements
534
534
 
535
- Logly's Python API is inspired by Loguru and backed by an independent, from-scratch Rust implementation.
535
+ Logly is backed by an independent, from-scratch Rust implementation with a Python-native API.
536
536
 
537
537
  ---
538
538
 
@@ -0,0 +1,92 @@
1
+ """Micro-benchmarks for the Logly hot path (stdlib only).
2
+
3
+ Usage:
4
+ python benchmarks/micro.py [--iterations N]
5
+
6
+ Reports median nanoseconds per log call for disabled, console, file,
7
+ formatted, JSON, lazy, bound-context, and enqueue logging.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import io
13
+ import statistics
14
+ import sys
15
+ import tempfile
16
+ import time
17
+ from pathlib import Path
18
+
19
+
20
+ def _bench(label: str, iterations: int, func) -> None:
21
+ func() # warmup
22
+ samples: list[float] = []
23
+ batch = max(1, iterations // 20)
24
+ for _ in range(20):
25
+ start = time.perf_counter_ns()
26
+ for _ in range(batch):
27
+ func()
28
+ samples.append((time.perf_counter_ns() - start) / batch)
29
+ print(f"{label:28s} {statistics.median(samples):12.1f} ns/call")
30
+
31
+
32
+ def main() -> None:
33
+ iterations = (
34
+ int(sys.argv[sys.argv.index("--iterations") + 1]) if "--iterations" in sys.argv else 2000
35
+ )
36
+
37
+ from logly import Logger
38
+
39
+ quiet = Logger()
40
+ quiet.disable("logly")
41
+ _bench("disabled logger", iterations, lambda: quiet.info("hidden {}", 1))
42
+
43
+ plain = Logger()
44
+ plain.add(io.StringIO(), format="{message}")
45
+ _bench("console callback", iterations, lambda: plain.info("hello {}", "world"))
46
+
47
+ formatted = Logger()
48
+ formatted.add(io.StringIO())
49
+ _bench("default format", iterations, lambda: formatted.info("hello {}", "world"))
50
+
51
+ json_log = Logger()
52
+ json_log.add(io.StringIO(), serialize=True)
53
+ _bench("json serialize", iterations, lambda: json_log.info("hello {}", "world"))
54
+
55
+ lazy = Logger()
56
+ lazy.add(io.StringIO(), format="{message}")
57
+ _bench("lazy argument", iterations, lambda: lazy.opt(lazy=True).info("v=[{}]", lambda: "x"))
58
+
59
+ bound = Logger().bind(user="alice", request="r1")
60
+ bound.add(io.StringIO(), format="{message}")
61
+ _bench("bound context", iterations, lambda: bound.info("hello"))
62
+
63
+ tmp = Path(tempfile.mkdtemp()) / "bench.log"
64
+ file_log = Logger()
65
+ file_log.add(str(tmp), format="{message}")
66
+ _bench("file sink", iterations, lambda: file_log.info("hello {}", "world"))
67
+ file_log.complete()
68
+ file_log.remove()
69
+
70
+ dropped = 0
71
+
72
+ def enqueue_one() -> None:
73
+ nonlocal dropped
74
+ try:
75
+ queued.info("hello")
76
+ except RuntimeError:
77
+ # Bounded queue with drop-newest backpressure reports drops.
78
+ dropped += 1
79
+
80
+ queued = Logger()
81
+ queued.add(io.StringIO(), format="{message}", enqueue=True)
82
+ _bench("enqueue sink", iterations, enqueue_one)
83
+ queued.complete()
84
+ queued.remove()
85
+ if dropped:
86
+ print(f"(enqueue drops under load: {dropped})")
87
+
88
+ print("done")
89
+
90
+
91
+ if __name__ == "__main__":
92
+ main()
@@ -15,11 +15,9 @@ logly (Python extension)
15
15
  ├── source Source location & editor links
16
16
  ├── color ANSI rendering & markup parsing
17
17
  ├── config Configuration types & policies
18
- ├── context Bind, patch, & scoped context
19
18
  ├── compress Gzip, Zip, Bz2, Xz, Zstd codecs
20
19
  ├── concurrency Worker pool & backpressure
21
20
  ├── rotate Size, time, clock, weekday rotation
22
- ├── schedule Periodic task scheduler
23
21
  ├── network HTTP, TCP, UDP, Syslog sinks
24
22
  └── error Unified error types
25
23
  ```
@@ -37,11 +35,9 @@ logly (Python extension)
37
35
  | **[source](source/)** | Source location capture, clickable editor links (VS Code, JetBrains, Vim, Emacs, Sublime), and surrounding context reading. |
38
36
  | **[color](color/)** | ANSI color rendering — maps levels to styles, parses angle-bracket and Rich-style markup, supports themes. |
39
37
  | **[config](config/)** | Serialization-friendly configuration types for sinks, rotation, retention, compression, and enqueue modes. |
40
- | **[context](context/)** | Structured context primitives for `bind()`, `contextualize()`, and `patch()` — merges key-value pairs into records. |
41
38
  | **[compress](compress/)** | Compression codecs (Gzip, Zip, Bz2, Xz, Zstd) for rotated log files with retention-based cleanup. |
42
39
  | **[concurrency](concurrency/)** | Background worker thread pool with channel-based dispatch and configurable backpressure. |
43
40
  | **[rotate](rotate/)** | File rotation policies — size, interval, clock, and weekday triggers with non-destructive file renaming. |
44
- | **[schedule](schedule/)** | Lightweight periodic task scheduler for rotation, cleanup, and health checks. |
45
41
  | **[network](network/)** | Network sinks — HTTP/JSON (with batching), TCP, UDP, and Syslog transports for remote log forwarding. |
46
42
  | **[error](error/)** | Canonical `LoglyError` enum and `LoglyResult<T>` type alias shared across all crates. |
47
43
 
@@ -53,9 +49,8 @@ levels ← record ← core ← sink ← format
53
49
  ↑ ↑ ↑
54
50
  filter source color
55
51
  ↑
56
- config ← context
52
+ config
57
53
  ↑
58
- compress, concurrency, rotate, schedule, network
59
54
  ```
60
55
 
61
56
  ## Development