D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
proc
/
self
/
root
/
opt
/
alt
/
python38
/
lib
/
python3.8
/
site-packages
/
Filename :
NCSentry.py
back
Copy
#!/opt/alt/python38/bin/python3 import os import sentry_sdk import warnings class NCSentry: """ Simple Wrapper sentry = NCSentry() After successfully inited class we can use Sentry debug system: Report to Sentry: SentryClient.capture_message("test") SentryClient.capture_exception(Exception("MyAwsomeString")) """ __conflict_under_version = "0.19.2" def __init__(self, config_dir=None): self.sentry_args = {} if config_dir: dir_path = config_dir else: dir_path = os.path.dirname(os.path.realpath(__file__)) self.conf_path = os.path.join(dir_path, ".sentry.conf") self.construct_args() with open(self.conf_path) as fh: self.dsn = fh.read() self.client = sentry_sdk.init(self.dsn, **self.sentry_args) self.capture_message = sentry_sdk.capture_message self.capture_exception = sentry_sdk.capture_exception def construct_args(self): try: import pkg_resources _conflict_under_version = pkg_resources.extern.packaging.version.Version( self.__conflict_under_version ) if ( pkg_resources.get_distribution("sentry-sdk").parsed_version >= _conflict_under_version ): self.sentry_args["traces_sample_rate"] = 0 except Exception as err: warnings.warn(f"Can't setup sentry default args {err}")