我正在为我的Django应用程序使用Rollbar进行错误跟踪。由于某些原因,我从我的localhost (开发中)得到了错误。
Settings.py:
import rollbar
import os
THUMBNAIL_DEBUG = False
DEBUG = False
TEMPLATE_DEBUG = False
ROLLBAR = {
'access_token': '****',
'environment': 'development' if DEBUG else 'production',
'root': BASE_DIR,
'class': 'rollbar.logger.RollbarHandler'
}
rollbar.init(**ROLLBAR)Settings_Dev.py:
from settings import *
DEBUG = True
TEMPLATE_DEBUG = True
THUMBNAIL_DEBUG = True我在本地的开发环境中使用settings_dev.py。
发布于 2018-08-29 11:58:01
我通常创建三个设置文件。第一个是用于既适用于开发又适用于生产的基本设置。另外两个从base导入所有内容,并添加额外的内容。
因此,对于您的情况,可以使用settings_base.py
THUMBNAIL_DEBUG = False
DEBUG = False
TEMPLATE_DEBUG = False而对于settings_production.py
from settings_production import *
ROLLBAR = {
'access_token': '****',
'environment': 'development' if DEBUG else 'production',
'root': BASE_DIR,
'class': 'rollbar.logger.RollbarHandler'
}
rollbar.init(**ROLLBAR)这样,只有在生产环境中才会启用Rollbar。
发布于 2019-09-04 16:35:42
现在,您似乎可以使用"enabled"设置:
ROLLBAR = {
'access_token': '****',
'environment': 'development' if DEBUG else 'production',
'root': BASE_DIR,
'class': 'rollbar.logger.RollbarHandler',
'enabled': not DEBUG,
}发布于 2021-11-09 23:01:06
这个答案不是特定于Django的,但是它提供了三种禁用rollbar的不同方法
通过有效负载处理程序
添加payload handler以忽略滚动条中的所有有效负载。
import rollbar
def _payload_handler_to_disable_rollbar(payload, **kw) -> bool:
return False
rollbar.events.add_payload_handler(_payload_handler_to_disable_rollbar)如果使用pytest,请按照this answer在函数pytest_sessionstart中的./confest.py中定义上述内容。
通过monkeypatching
按键匹配rollbar.report_exc_info以禁用它。
import rollbar
def _disabled_rollbar_report_exc_info(*_args, **_kwargs) -> None:
pass
rollbar.report_exc_info = _disabled_rollbar_report_exc_info如果使用pytest,请按照this answer在函数pytest_sessionstart中的./confest.py中定义上述内容。
通过/etc/hosts
更新/etc/hosts以阻止api.rollbar.com。
$ sudo echo '127.0.0.1 api.rollbar.com' >> /etc/hosts
$ sudo dscacheutil -flushcache # On Mac to flush the DNS cache.https://stackoverflow.com/questions/52069221
复制相似问题