diff options
author | Armin Ronacher <armin.ronacher@active-4.com> | 2015-11-17 20:16:44 +0100 |
---|---|---|
committer | Armin Ronacher <armin.ronacher@active-4.com> | 2015-11-17 20:16:44 +0100 |
commit | bebbb36c2fba928e1855e30d6dfbd6968bd6db56 (patch) | |
tree | 89a5195c85b535e2c02c9ffb82c671d57db64ce0 | |
parent | bbc7e1523c3723c5fe479494e03abb0e0400ecf1 (diff) | |
download | raven-feature/disable-dsn-explicit.tar.gz |
Allow explicit disabling of clients by setting DSN to None.feature/disable-dsn-explicit
-rw-r--r-- | raven/base.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/raven/base.py b/raven/base.py index f258aa2..5bdc899 100644 --- a/raven/base.py +++ b/raven/base.py @@ -118,7 +118,7 @@ class Client(object): _registry = TransportRegistry(transports=default_transports) - def __init__(self, dsn=None, raise_send_errors=False, transport=None, + def __init__(self, dsn=Ellipsis, raise_send_errors=False, transport=None, install_sys_hook=True, **options): global Raven @@ -178,11 +178,14 @@ class Client(object): if install_sys_hook: self.install_sys_hook() - def set_dsn(self, dsn=None, transport=None): - if dsn is None and os.environ.get('SENTRY_DSN'): - msg = "Configuring Raven from environment variable 'SENTRY_DSN'" - self.logger.debug(msg) - dsn = os.environ['SENTRY_DSN'] + def set_dsn(self, dsn=Ellipsis, transport=None): + if dsn is Ellipsis: + if os.environ.get('SENTRY_DSN'): + msg = "Configuring Raven from environment variable 'SENTRY_DSN'" + self.logger.debug(msg) + dsn = os.environ['SENTRY_DSN'] + else: + dsn = None if dsn not in self._transport_cache: if dsn is None: @@ -198,7 +201,10 @@ class Client(object): else: self.remote = self._transport_cache[dsn] - self.logger.debug("Configuring Raven for host: {0}".format(self.remote)) + if dsn is not None: + self.logger.debug("Configuring Raven for host: {0}".format(self.remote)) + else: + self.logger.debug('Disabling raven because DSN set to None') def install_sys_hook(self): global __excepthook__ |