Author: |
['Mohammed Barsi', 'Versada'] |
License: |
no license |
Branch: |
10.0 |
Repository: |
versada/odoo_sentry |
Dependencies: |
base |
Languages: |
Python (135, 66.5%),
and
reStructuredText (68, 33.5%) |
Other branches: |
master,
and
prepare_oca_pr |
Other repositories: |
VitalPet/odoo_sentry,
XaviTorello/odoo_sentry,
aisopuro/odoo_sentry,
andrius-preimantas/odoo_sentry,
anybox/odoo_sentry,
avoinsystems/odoo_sentry,
barsi/odoo_sentry,
eng-george1/odoo_sentry,
kkoci/odoo_sentry,
kossovo/odoo_sentry,
lonelyleaves/odoo_sentry,
n37r06u3/odoo_sentry,
ovnicraft/odoo_sentry,
sc4you/odoo_sentry,
theoo/odoo_sentry,
unionindustry/odoo_sentry,
vice-versa/odoo_sentry,
and
vishalkpatel86/odoo_sentry |
<h1 class="title">Odoo Sentry</h1>
<p>Odoo module which allows painless <a class="reference external" href="https://sentry.io/">Sentry</a> integration with Odoo.</p>
<a name="installation"></a>
<h2>Installation</h2>
<p>The module can be installed just like any other Odoo module, by adding the
module's parent directory to Odoo <em>addons_path</em>.</p>
<p>This module requires the <a class="reference external" href="https://github.com/getsentry/raven-python">raven</a> Python package. It can be installed using pip:</p>
<pre>
<code>pip install raven</code>
</pre>
<a name="configuration"></a>
<h2>Configuration</h2>
<p>The following additional configuration options can be added to your Odoo
configuration file:</p>
<table class="docutils">
<colgroup>
<col width="23%" />
<col width="61%" />
<col width="16%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Option</th>
<th class="head">Description</th>
<th class="head">Default</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>sentry_client_dsn</td>
<td>Sentry <em>Data Source Name</em>. You can find this value in your Sentry
project configuration. Typically it looks something like this:
<em>https://<public_key>:<secret_key>@sentry.example.com/<project id></em>
This is the only required option in order to use the module.</td>
<td><em>''</em></td>
</tr>
<tr><td>sentry_enabled</td>
<td>Whether or not Sentry logging is enabled.</td>
<td><em>True</em></td>
</tr>
<tr><td>sentry_report_user_errors</td>
<td><p class="first">Whether user errors should also be reported to Sentry. These
include:</p>
<ul class="last simple">
<li><dl class="first docutils">
<dt><em>except_orm</em>:</dt>
<dd><ul class="first last">
<li><em>UserError</em></li>
<li><em>ValidationError</em></li>
<li><em>AccessError</em></li>
<li><em>MissingError</em></li>
</ul>
</dd>
</dl>
</li>
<li><em>AccessDenied</em></li>
<li><em>RedirectWarning</em></li>
</ul>
</td>
<td><em>False</em></td>
</tr>
<tr><td>sentry_include_context</td>
<td>If enabled, additional context data will be extracted from current
HTTP request and user session (if available). This has no effect
for Cron jobs, as no request/session is available inside a Cron job.</td>
<td><em>True</em></td>
</tr>
<tr><td>sentry_logging_level</td>
<td>The minimal logging level for which to send reports to Sentry.
Possible values: <em>notset</em>, <em>debug</em>, <em>info</em>, <em>warn</em>, <em>error</em>,
<em>critical</em>. It is recommended to have this set to at least <em>warn</em>,
to avoid spamming yourself with Sentry events.</td>
<td><em>warn</em></td>
</tr>
<tr><td>sentry_environment</td>
<td>Environment, in which Odoo is running, eg. <em>staging</em>, <em>production</em>.</td>
<td> </td>
</tr>
<tr><td>sentry_auto_log_stacks</td>
<td>Whether Raven automatically log frame stacks (including locals) for
all calls as it would for exceptions.</td>
<td><em>False</em></td>
</tr>
<tr><td>sentry_odoo_dir</td>
<td>Absolute path to your Odoo installation directory. This is optional
and will only be used to extract the Odoo Git commit, which will be
sent to Sentry, to allow to distinguish between Odoo updates.</td>
<td> </td>
</tr>
</tbody>
</table>
<a name="example-odoo-configuration"></a>
<h3>Example Odoo configuration</h3>
<p>Below is an example of Odoo configuration file with <em>Odoo Sentry</em> options:</p>
<pre>
<code>[options]
sentry_client_dsn = https://<public_key>:<secret_key>@sentry.example.com/<project id>
sentry_enabled = true
sentry_report_user_errors = true
sentry_include_context = true
sentry_logging_level = warn
sentry_environment = production
sentry_auto_log_stacks = false
sentry_odoo_dir = /home/odoo/odoo/</code>
</pre>
<a name="history"></a>
<h2>History</h2>
<p>This module was originally written by <a class="reference external" href="https://github.com/barsi/">Mohammed Barsi</a>.
In version 2.0.0 it was rewritten from scratch by <a class="reference external" href="https://github.com/versada/">Versada</a>.</p>
<a name="known-issues"></a>
<h2 class="with-subtitle">Known issues</h2>
<h2 class="section-subtitle" id="no-database-separation"><span class="section-subtitle">No database separation</span></h2>
<p><em>Odoo Sentry</em> module functions by intercepting all Odoo logging records. This
means that once installed in one database, it will intercept and report errors
for all Odoo databases, which are used on that Odoo server.</p>