%PDF- %PDF-
Direktori : /opt/alt/python38/lib/python3.8/site-packages/ |
Current File : //opt/alt/python38/lib/python3.8/site-packages/NCSentry.py |
#!/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}")