Skip to main content

向 Sentry 报告 Odoo 错误

项目描述

许可证:AGPL-3

哨兵

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

安装

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

此模块还需要系统上提供raven Python 包。它可以使用 pip 安装:

pip install raven

配置

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

选项

描述

默认

sentry_dsn

哨兵数据源名称。您可以在 Sentry 项目配置中找到此值。通常它看起来像这样: https://<public_key>:<secret_key>@sentry.example.com/<project id> 这是使用模块的唯一必需选项。

''

sentry_enabled

是否启用 Sentry 日志记录。

错误的

sentry_logging_level

向 Sentry 发送报告的最低日志记录级别。可能的值:notsetdebuginfowarnerrorcritical。建议将此设置至少为warn,以避免使用 Sentry 事件向自己发送垃圾邮件。

警告

sentry_exclude_loggers

应从 Sentry 中排除的以逗号分隔的记录器名称字符串。

韦克泽格

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 之前将其应用于事件。

raven.processors.SanitizePasswordsProcessor,odoo.addons.sentry.logutils.SanitizeOdooCookiesProcessor

sentry_transport

用于将事件发送到 Sentry 的传输类。可能的值:线程:产生一个异步工作者来处理消息,同步:同步阻塞传输; requests_threaded:使用请求 库的异步传输;requests_synchronous - 使用请求库阻塞传输 。

螺纹

sentry_include_context

如果启用,将从当前 HTTP 请求和用户会话(如果可用)中提取额外的上下文数据。这对 Cron 作业没有影响,因为 Cron 作业中没有可用的请求/会话。

真的

sentry_odoo_dir

Odoo 安装目录的绝对路径。这是可选的,仅用于提取 Odoo Git 提交,该提交将发送到 Sentry,以允许区分 Odoo 更新。

其他客户端参数可以通过在您的 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 日志记录级别及以上的任何日志记录事件,无需执行其他操作。

试试我的 Runbot

已知问题/路线图

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

  • 前端集成——未来,通过集成 raven-js将 Odoo 客户端错误报告也添加到这个模块中会很好。此外,Sentry 用户反馈表可以集成到 Odoo 客户端错误对话框窗口中,以允许用户在出现问题时简短地描述他们在做什么。

错误追踪器

在GitHub 问题上跟踪错误。如果遇到问题,请检查您的问题是否已被报告。如果您首先发现它,请通过提供详细且受欢迎的反馈来帮助我们粉碎它。

学分

图片

贡献者

维护者

Odoo 社区协会

该模块由 OCA 维护。

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

要为本模块做出贡献,请访问https://odoo-community.org

项目详情


下载文件

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

内置分布

odoo10_addon_sentry-10.0.1.0.1-py2-none-any.whl (20.6 kB 查看哈希

已上传 py2