
Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn
由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解
本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!
开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号
如果您登录系统碰到问题,请在微信公众号留言:
使用日志,调试OE程序,分析OE源码
-
笔者写了一个OE小模块,在安装测试时出现错误,百思不得其解,想看一下到底哪儿出了错,想到了日志,使用python自带的logging,使用后不起作用,搜索OE论坛,才知OE有自己的日志类.
在netsvc.py中的Logger 类.使用如下:
import netsvc
logger=netsvc.Logger()
在程序中如果想看某一个变量的值,使用: logger.notifyChannel('example module:',netsvc.LOG_INFO,str(变量)),在日志中就会有此变量的值,str 函数把python的任何变量,转变为字符串的值.
在查看源码时,如果不理解某个 参数或变量的值,就可以使用日志看一下,便于理解.
这是Logger类中,notifyChannel的定义:
def notifyChannel(self, name, level, msg)
level为以下值:
LOG_NOTSET = 'notset'
LOG_DEBUG_RPC = 'debug_rpc'
LOG_DEBUG = 'debug'
LOG_INFO = 'info'
LOG_WARNING = 'warn'
LOG_ERROR = 'error'
LOG_CRITICAL = 'critical' -
推荐使用 fopen 的东西. 使用 Logger 来玩.. 信息是记录到 openerp-server.log 文件中的. 而这个文件在 OE server 启动时, 是被锁定状态... 不利于 信息的清理( 不觉得在茫茫 log 信息中 找自己的log 信息很痛苦么?)...
-
写到日志中查找的确麻烦,灰常痛苦. 但也是一种方法,一种不同的思路,感谢分享.
-
也可以使用 ide +断点的方法
windows 下我推荐使用eclipse +pydev,直接可以查看变量值