====================
Logging in database
====================
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-Smile_SA%2Fodoo_addons-lightgray.png?logo=github
:target: https://github.com/Smile-SA/odoo_addons/tree/14.0/smile_log
:alt: Smile-SA/odoo_addons
|badge2| |badge3|
This module adds a logs handler writing to database.
Notice
* Following code will create a log in db with a unique pid per logger:
import logging
logger = SmileLogger(dbname, model_name, res_id, uid)
logger.info(your_message)
Features :
* Create logs when executing an action.
* Archive and delete old logs from database.
* Give users access right to see logs.
**Table of contents**
.. contents::
:local:
Configuration
=============
* Developer adds ``import logging`` to his python file.
* Developer must add following code to his action and specify the database, the model name, the res_id, and uid. Then give a message to log for information:
.. code-block:: python
logger = SmileLogger(dbname, model_name, res_id, uid)
logger.info(your_message)
* Administrator must create a ``Scheduled Action`` to call the function ``archive_and_delete_old_logs``, configure archiving path and the number of days to archive and delete logs.
Usage
=====
To add Logs handler to an action :
1. Import SmileDBLogger to your python code and add code lines as shown in following example :
.. figure:: static/description/inherit_and_import_smile_log.png
:alt: Import SmileDBLogger
:width: 600px
2. Add ``smile_log`` to your module dependence:
.. figure:: static/description/manifest.png
:alt: Depends manifest
:width: 500px
3. Now execute the action.:
.. figure:: static/description/action.png
:alt: Button validate
:width: 850px
4. Go to ``Settings > Technical > Logging``> Logs menu to see logs.
.. figure:: static/description/logs.png
:alt: Logs
:width: 850px
Administrator can give access right to users, to see logs, by checking ``Smile Logs / User``.
.. figure:: static/description/smile_logs_user.png
:alt: Smile Logs
:width: 600px
To create the scheduled action:
1. Go to ``Settings > Technical > Automation > Scheduled Actions`` and fill fields as follow:
.. figure:: static/description/scheduled_action.png
:alt: Schedules Action
:width: 850px
``(Make sure that the given folder has a write access!)``
2. After running the action, the extracted logs file in csv format is as shown in next figure:
.. figure:: static/description/exported_log.png
:alt: Smile Logs
:width: 380px
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/Smile-SA/odoo_addons/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
`here <https://github.com/Smile-SA/odoo_addons/issues/new?body=module:%20smile_log%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
GDPR / EU Privacy
=================
This addons does not collect any data and does not set any browser cookies.
Credits
=======
Authors
-------
* Corentin POUHET-BRUNERIE
* Xavier FERNANDEZ
* Majda EL MARIOULI
Maintainer
----------
This module is maintained by the Smile SA.
Since 1991 Smile has been a pioneer of technology and also the European expert in open source solutions.
.. image:: https://avatars0.githubusercontent.com/u/572339?s=200&v=4
:alt: Smile SA
:target: http://smile.fr
This module is part of the `odoo-addons <https://github.com/Smile-SA/odoo_addons>`_ project on GitHub.
You are welcome to contribute.