This question has been flagged
1 Reply
93346 Views

I want to print a debug message in a method. I override project.task.work.create method and i don't know if program use my method or the original.In java i print a simple message to see it. How do the same with OpenERP API? I use OpenERP 7 on debian linux.

Avatar
Discard
Best Answer

To display a debug log, you can use the standard python logging module.

Basically, you need to get a logger and you can use it in your methods to output log messages.

Usually, in OpenERP, a _logger is get at the top of the python module, its name being the name of the python module.

import logging
from openerp.osv import orm

_logger = logging.getLogger(__name__)


class project_task_work(orm.Model):
    _inherit = 'project.task.work'

    def create(self, cr, uid, vals, context=None):
        _logger.debug('Create a %s with vals %s', self._name, vals)
        return super(project_task_work, self).create(cr, uid, vals, context=context)

Note that you will need to start your server using the --debug option to show debug logs.

Other options for logging at a higher level (that doesn't require the --debug option) are:


_logger.info('FYI: This is happening')

_logger.warning('WARNING: I don't think you want this to happen!')

_logger.error('ERROR: Something really bad happened!')


Avatar
Discard
Author

It doesn't work(I see nothing on log file but i have a lot of debug info on it). I don't know how debug this personal add-on. I just want to override this method. should I create a new question for this problem?

If you don't see your logs that's probably because your module is not loaded correctly, or the module's dependencies are wrong. You can create a question focused to the loading of modules with details on your module (people will have to find out why it is not loaded, give them useful information).

Author

thanks a lot

Author

if it didn't work that's because i hadn't restart openERP. I just restart and it's ok. Thanks again.

Hi,,,when i am giving _logging.info after _columns in .py file then it is printing to log file but when i am calling to the method then it didn't work?? Please help me out....