elven-logs-interceptor-python 0.1.15__tar.gz → 0.1.16__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 (62) hide show
  1. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/PKG-INFO +2 -2
  2. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/README.md +1 -1
  3. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/pyproject.toml +1 -1
  4. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/application/config_service.py +2 -0
  5. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/utils.py +1 -1
  6. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/.gitignore +0 -0
  7. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/ARCHITECTURE.md +0 -0
  8. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/__init__.py +0 -0
  9. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/application/__init__.py +0 -0
  10. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/application/log_service.py +0 -0
  11. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/config.py +0 -0
  12. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/domain/__init__.py +0 -0
  13. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/domain/entities.py +0 -0
  14. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/domain/interfaces.py +0 -0
  15. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/domain/value_objects.py +0 -0
  16. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/__init__.py +0 -0
  17. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/buffer/__init__.py +0 -0
  18. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/buffer/memory_buffer.py +0 -0
  19. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/circuit_breaker/__init__.py +0 -0
  20. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/circuit_breaker/circuit_breaker.py +0 -0
  21. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/compression/__init__.py +0 -0
  22. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/compression/base.py +0 -0
  23. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/compression/brotli_compressor.py +0 -0
  24. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/compression/factory.py +0 -0
  25. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/compression/gzip_compressor.py +0 -0
  26. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/compression/noop_compressor.py +0 -0
  27. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/context/__init__.py +0 -0
  28. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/context/context_provider.py +0 -0
  29. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/dlq/__init__.py +0 -0
  30. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/dlq/file_dlq.py +0 -0
  31. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/dlq/memory_dlq.py +0 -0
  32. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/filter/__init__.py +0 -0
  33. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/filter/log_filter.py +0 -0
  34. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/interceptors/__init__.py +0 -0
  35. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/interceptors/runtime_interceptor.py +0 -0
  36. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/internal_capture_guard.py +0 -0
  37. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/log_noise_filter.py +0 -0
  38. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/log_record_extra.py +0 -0
  39. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/memory/__init__.py +0 -0
  40. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/memory/memory_tracker.py +0 -0
  41. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/metrics/__init__.py +0 -0
  42. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/metrics/metrics_collector.py +0 -0
  43. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/transport/__init__.py +0 -0
  44. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/transport/loki_json_transport.py +0 -0
  45. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/transport/loki_protobuf_transport.py +0 -0
  46. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/transport/otlp_json_transport.py +0 -0
  47. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/transport/resilient_transport.py +0 -0
  48. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/transport/transport_factory.py +0 -0
  49. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/workers/__init__.py +0 -0
  50. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/infrastructure/workers/worker_pool.py +0 -0
  51. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/__init__.py +0 -0
  52. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/celery.py +0 -0
  53. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/django.py +0 -0
  54. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/fastapi.py +0 -0
  55. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/flask.py +0 -0
  56. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/logging_handler.py +0 -0
  57. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/loguru.py +0 -0
  58. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/integrations/structlog.py +0 -0
  59. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/preload.py +0 -0
  60. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/presentation/__init__.py +0 -0
  61. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/presentation/factory.py +0 -0
  62. {elven_logs_interceptor_python-0.1.15 → elven_logs_interceptor_python-0.1.16}/src/logs_interceptor/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: elven-logs-interceptor-python
3
- Version: 0.1.15
3
+ Version: 0.1.16
4
4
  Summary: Production-grade logs interceptor for Python with Loki transport, resilience, batching, and framework integrations.
5
5
  Author: Elven Observability
6
6
  License: MIT
@@ -123,7 +123,7 @@ logging.getLogger(__name__).info(
123
123
 
124
124
  Supported aliases: `warning(...)`, `exception(...)` and `critical(...)`.
125
125
 
126
- Sensitive fields such as `cpf`, `password`, `token` and `authorization` are
126
+ Sensitive fields such as `cpf`, `cnpj`, `cpfCnpj`, `password`, `token` and `authorization` are
127
127
  redacted by default. In messages, the library redacts only the sensitive
128
128
  fragment/value and preserves the rest of the log. In structured context,
129
129
  sensitive keys redact the full value. Set `LOGS_FILTER_SANITIZE=false`,
@@ -62,7 +62,7 @@ logging.getLogger(__name__).info(
62
62
 
63
63
  Supported aliases: `warning(...)`, `exception(...)` and `critical(...)`.
64
64
 
65
- Sensitive fields such as `cpf`, `password`, `token` and `authorization` are
65
+ Sensitive fields such as `cpf`, `cnpj`, `cpfCnpj`, `password`, `token` and `authorization` are
66
66
  redacted by default. In messages, the library redacts only the sensitive
67
67
  fragment/value and preserves the rest of the log. In structured context,
68
68
  sensitive keys redact the full value. Set `LOGS_FILTER_SANITIZE=false`,
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "elven-logs-interceptor-python"
7
- version = "0.1.15"
7
+ version = "0.1.16"
8
8
  description = "Production-grade logs interceptor for Python with Loki transport, resilience, batching, and framework integrations."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -30,6 +30,8 @@ DEFAULT_SENSITIVE_PATTERNS = [
30
30
  r"authorization",
31
31
  r"credit[_-]?card",
32
32
  r"ssn",
33
+ r"cpf[_-]?cnpj",
34
+ r"cnpj",
33
35
  r"cpf",
34
36
  ]
35
37
 
@@ -467,7 +467,7 @@ def _looks_like_value_pattern(pattern: str) -> bool:
467
467
  # Plain words such as "token" and "password" are key indicators by default;
468
468
  # redacting those words directly would destroy harmless messages like
469
469
  # "Gerando token de acesso". Regex-looking patterns are treated as values.
470
- keyish_terms = r"password|token|secret|api|key|authorization|credit|card|ssn|cpf"
470
+ keyish_terms = r"password|token|secret|api|key|authorization|credit|card|ssn|cpf|cnpj"
471
471
  if re.search(keyish_terms, pattern, re.IGNORECASE):
472
472
  return False
473
473
  return bool(re.search(r"\\d|\[0-9|\{\d|[\^$]", pattern))