向Sentry报告Odoo错误
项目描述
Sentry
此模块允许轻松地将Odoo与Sentry集成。
安装
可以通过将模块目录添加到Odoo的addons_path来安装此模块,就像安装任何其他Odoo模块一样。为了使模块能够正确封装Odoo WSGI应用程序,它还需要作为一个全局服务器模块加载。这可以通过您的Odoo配置文件中的server_wide_modules参数或使用--load命令行参数来完成。
此模块还要求系统上存在raven Python包。它可以使用pip进行安装
pip install raven
配置
可以将以下附加配置选项添加到您的Odoo配置文件中
选项 |
描述 |
默认值 |
---|---|---|
sentry_dsn |
Sentry 数据源名称。您可以在Sentry项目配置中找到此值。通常看起来像这样:https://<public_key>:<secret_key>@sentry.example.com/<project id> 这是使用模块所需的唯一选项。 |
'' |
sentry_enabled |
是否启用Sentry日志记录。 |
False |
sentry_logging_level |
发送报告到Sentry的最小日志级别。可能的值:notset,debug,info,warn,error,critical。建议将其设置为至少warn,以避免因Sentry事件而使您收到垃圾邮件。 |
warn |
sentry_exclude_loggers |
应该从Sentry中排除的逗号分隔的记录器名称字符串。 |
werkzeug |
sentry_ignored_exceptions |
应该忽略的逗号分隔的异常字符串。您可以在末尾使用星号 (*),以忽略来自模块的所有异常,例如:odoo.exceptions.*。 |
odoo.exceptions.AccessDenied, odoo.exceptions.AccessError, odoo.exceptions.DeferredException, odoo.exceptions.MissingError, odoo.exceptions.RedirectWarning, odoo.exceptions.UserError, odoo.exceptions.ValidationError, odoo.exceptions.Warning, odoo.exceptions.except_orm |
sentry_processors |
用逗号分隔的处理器类字符串,将在将事件发送到Sentry之前应用。 |
raven.processors.SanitizePasswordsProcessor, odoo.addons.sentry.logutils.SanitizeOdooCookiesProcessor |
sentry_transport |
用于将事件发送到Sentry的传输类。可能的值: threaded:为处理消息启动异步工作进程,synchronous:同步阻塞传输;requests_threaded:使用requests库的异步传输;requests_synchronous - 使用requests库的阻塞传输。 |
threaded |
sentry_include_context |
如果启用,将从当前HTTP请求和用户会话(如果可用)中提取额外的上下文数据。对于Cron作业没有影响,因为在Cron作业内部没有请求/会话。 |
True |
sentry_release |
显式定义要作为释放版本发送给Sentry的版本。与Sentry的“在下一个版本中解决”功能结合使用很有用。如果您的生产部署不包含任何Git上下文,则很有用,从中可能读取提交。覆盖sentry_odoo_dir。 |
|
sentry_odoo_dir |
您的Odoo安装目录的绝对路径。这是可选的,并且将仅用于提取Odoo Git提交,该提交将发送到Sentry,以便区分Odoo更新。由sentry_release覆盖。 |
其他 客户端参数 可以通过在您的Odoo配置文件中将参数名称以sentry_开头进行配置。目前支持的其他客户端参数包括: install_sys_hook, include_paths, exclude_paths, machine, auto_log_stacks, capture_locals, string_max_length, list_max_length, site, include_versions, environment。
Odoo配置示例
以下是包含Odoo Sentry选项的Odoo配置文件示例
[options] sentry_dsn = https://<public_key>:<secret_key>@sentry.example.com/<project id> sentry_enabled = true sentry_logging_level = warn sentry_exclude_loggers = werkzeug sentry_ignore_exceptions = odoo.exceptions.AccessDenied,odoo.exceptions.AccessError,odoo.exceptions.MissingError,odoo.exceptions.RedirectWarning,odoo.exceptions.UserError,odoo.exceptions.ValidationError,odoo.exceptions.Warning,odoo.exceptions.except_orm sentry_processors = raven.processors.SanitizePasswordsProcessor,odoo.addons.sentry.logutils.SanitizeOdooCookiesProcessor sentry_transport = threaded sentry_include_context = true sentry_environment = production sentry_auto_log_stacks = false sentry_odoo_dir = /home/odoo/odoo/ sentry_release = 1.3.2
用法
配置和安装后,模块将报告配置的Sentry日志级别和以上的任何日志事件,无需采取其他操作。
已知问题/路线图
没有数据库分离 – 此模块通过拦截正在运行的Odoo进程中的所有Odoo日志记录来运行。这意味着一旦在一个数据库中安装,它将拦截并报告该Odoo服务器上使用的所有Odoo数据库的错误。
前端集成 – 在未来,添加Odoo客户端错误报告到此模块会很棒,通过集成raven-js。此外,Sentry用户反馈表可以集成到Odoo客户端错误对话框窗口中,以便用户简要描述错误发生时他们正在做什么。
错误追踪器
错误在GitHub Issues上追踪。如果出现问题,请在那里检查您的问题是否已报告。如果您首先发现它,请帮助我们将其击溃,提供详细且受欢迎的反馈。
致谢
图片
贡献者
Mohammed Barsi <barsintod@gmail.com>
Andrius Preimantas <andrius@versada.eu>
Naglis Jonaitis <naglis@versada.eu>
Atte Isopuro <atte.isopuro@avoin.systems>
维护者
此模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
为贡献此模块,请访问 https://odoo-community.org。
项目详情
odoo11_addon_sentry-11.0.1.1.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0aff0cdbdef8f90f347b6d65d3f72c205c45c796b83d3fab5f2618a1370ae5a0 |
|
MD5 | 5851c85ae6a49bc093b2c75de982dacc |
|
BLAKE2b-256 | 365277644be999aabbd4414456c642e18e4726f696bc444c93410e333a71b13a |