No project description provided
Project description
structlog-sentry
What | Where |
---|---|
Documentation | https://github.com/kiwicom/structlog-sentry |
Maintainer | @paveldedik |
Based on https://gist.github.com/hynek/a1f3f92d57071ebc5b91
Installation
Install the package with pip:
pip install structlog-sentry
Usage
This module is intended to be used with structlog
like this:
import sentry_sdk
import structlog
from structlog_sentry import SentryProcessor
sentry_sdk.init() # pass dsn in argument or via SENTRY_DSN env variable
structlog.configure(
processors=[
structlog.stdlib.add_log_level, # required before SentryProcessor()
SentryProcessor(level=logging.ERROR),
],
logger_factory=...,
wrapper_class=...,
)
log = structlog.get_logger()
Do not forget to add the structlog.stdlib.add_log_level
processor before
SentryProcessor
. The SentryProcessor
class takes the following arguments:
level
- events of this or higher levels will be reported to Sentry, default isWARNING
active
- default isTrue
, setting toFalse
disables the processor
Now exceptions are automatically captured by Sentry with log.error()
:
try:
1/0
except ZeroDivisionError:
log.error()
try:
resp = requests.get(f"https://api.example.com/users/{user_id}/")
resp.raise_for_status()
except RequestException:
log.error("request error", user_id=user_id)
Logging calls with no sys.exc_info()
are also automatically captured by Sentry:
log.info("info message", scope="accounts")
log.warning("warning message", scope="invoices")
log.error("error message", scope="products")
Testing
To run all tests:
tox
Note that tox doesn't know when you change the requirements.txt
and won't automatically install new dependencies for test runs.
Run pip install tox-battery
to install a plugin which fixes this silliness.
Contributing
Create a merge request and assign it to @paveldedik for review.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file structlog-sentry-1.0.0.tar.gz
.
File metadata
- Download URL: structlog-sentry-1.0.0.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20667e086d2a66b9cd54c750d6945c5c7b7fe9d3eef53b2a25e9b74d02dcc0a9 |
|
MD5 | 1005bee23ad6a72b1ff2729e1d1835bc |
|
BLAKE2b-256 | ccefaf944c6511a912d9cf847270c48ed8c48eca758a9d9460a1f26ab0acdff0 |
File details
Details for the file structlog_sentry-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: structlog_sentry-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | afad0d2474597ac17d138f93d104992bc28f54be7a3084c3305a40f3169ebe5c |
|
MD5 | b93d67571a6eaf7dedfeabb1288683d3 |
|
BLAKE2b-256 | 087c735dc23feaf9af306338dfb56139cae17213284ad1ae84f48dd632cbbcfb |