跳转到主要内容

向Sentry报告Odoo错误

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

此模块允许轻松将Odoo与Sentry集成。

目录表

安装

该模块可以像任何其他Odoo模块一样安装,只需将模块目录添加到Odoo的addons_path。为了使模块正确包装Odoo WSGI应用程序,它还需要作为全局模块加载。这可以通过Odoo配置文件中的server_wide_modules参数或使用--load命令行参数来实现。

此模块还需要系统上可用的sentry-sdk Python包。可以使用pip进行安装

pip install sentry-sdk

配置

以下附加配置选项可以添加到您的Odoo配置文件中

选项

描述

默认

sentry_dsn

Sentry Data Source Name。您可以在Sentry项目配置中找到此值。通常看起来像这样: https://<public_key>:<secret_key>@sentry.example.com/<project id> 这是使用模块的必要选项。

''

sentry_enabled

是否启用Sentry日志记录。

False

sentry_ignore_startup_event

此功能用于不将启动Odoo服务器发送到Sentry。虽然此消息对确保我们已正确设置Sentry很有用,但我们不能使用sentry_ignored_exceptions来忽略该事件。

False

sentry_logging_level

发送报告到Sentry的最小日志级别。可能的值:notsetdebuginfowarnerrorcritical。建议至少设置为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_include_context

如果启用,将从中提取当前HTTP请求和用户会话(如果可用)的附加上下文数据。对于Cron作业,此设置无效,因为Cron作业内部没有请求/会话。

True

sentry_release

显式定义要发送给Sentry的版本作为发布版本。在结合Sentry的“在下个版本中解决”功能时很有用。如果您的生产部署不包含任何Git上下文(其中可能读取提交),则这也很有用。覆盖sentry_odoo_dir

sentry_odoo_dir

您的Odoo安装目录的绝对路径。这是可选的,并且仅用于从Sentry提取Odoo Git提交,这将发送到Sentry,以便区分Odoo更新。由sentry_release覆盖。

其他客户端参数可以通过在您的Odoo配置文件中将参数名称前面加上sentry_来配置。当前支持的其他客户端参数包括:with_locals, max_breadcrumbs, release, environment, server_name, shutdown_timeout, in_app_include, in_app_exclude, default_integrations, dist, sample_rate, send_default_pii, http_proxy, https_proxy, request_bodies, debug, attach_stacktrace, ca_certs, propagate_traces, traces_sample_rate, auto_enabling_integrations

示例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_include_context = true
sentry_environment = production
sentry_release = 1.3.2
sentry_odoo_dir = /home/odoo/odoo/

用法

一旦配置并安装,该模块将报告配置的Sentry日志级别及以上的所有日志事件,无需进行其他操作。

Try me on Runbot

已知问题/路线图

  • 无数据库分离 – 此模块通过拦截正在运行的Odoo进程中的所有Odoo日志记录来工作。这意味着一旦在一个数据库中安装,它将拦截并报告该Odoo服务器上使用的所有Odoo数据库的错误。

  • 前端集成 – 未来,通过集成raven-js,我们希望在模块中添加Odoo客户端错误报告。此外,Sentry用户反馈表单可以集成到Odoo客户端错误对话框窗口中,以便用户简要描述出错时正在做什么。

错误跟踪器

错误在GitHub Issues上跟踪。如果遇到问题,请检查那里是否已报告您的问题。如果您是第一个发现它的人,请帮助我们通过提供详细且受欢迎的反馈来帮助我们解决问题。

请不要直接联系贡献者寻求支持或帮助解决技术问题。

致谢

作者

  • Mohammed Barsi

  • Versada

  • Nicolas JEUDY

  • Vauxoo

贡献者

其他致谢

  • Vauxoo

维护者

本模块由OCA维护。

Odoo Community Association

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

当前维护者

barsi naglis versada moylop260 fernandahf

此模块是GitHub上的OCA/server-tools项目的组成部分。

欢迎您贡献力量。了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

此版本没有提供源代码发行版文件。请参阅生成发行版存档的教程

构建发行版

odoo14_addon_sentry-14.0.3.0.2-py3-none-any.whl (34.1 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面