设置中的日志菜单有什么用

时间:2019-06-04 11:35:53

标签: odoo odoo-11

中的日志菜单的用途/目的是什么
Settings -> Technical -> Database structure -> Logging

1 个答案:

答案 0 :(得分:5)

看来,只要在命令行中执行ir.logging时使用参数--log-db your_database_name(或添加),就可以将所有日志消息存储在该视图中(模型odoo-bin)。 log_db = your_database_name在您的Odoo配置文件中。

查看Odoo 11有关命令行参数的信息:https://www.odoo.com/documentation/11.0/reference/cmdline.html

  

-log-db

     

记录到指定数据库的ir.logging模型(ir_logging表)。数据库可以是“当前” PostgreSQL中的数据库名称,也可以是PostgreSQL URI,例如。日志聚合

这是理论,但老实说,我无法使其发挥作用,并且我并没有浪费太多时间试图知道原因。

编辑

正如@CZoellner所说,似乎存储在ir_logging表中的日志消息(单击菜单项 Settings-> Technical-> Database structure-> Logging 时看到的日志消息)仅来自计划的操作。如果创建执行某些Python代码的计划动作,则在方法代码中将使用以下可用变量:

  • env:在其上触发操作的Odoo环境。
  • model:在其上触发操作的记录的Odoo模型;是无效的记录集。
  • record:触发操作的记录;可能是空的。
  • records:以多模式触发了操作的所有记录的记录集;可能是空的。
  • timedatetimedateutiltimezone:有用的Python库。
  • loglog(message, level='info'):日志记录功能,用于将调试信息记录在ir.logging表中。
  • Warning:警告引发异常使用要返回操作,请分配:action = {...}。

如果您使用log,例如:

log('This message will be stored in ir_logging table', level='critical')

每次执行计划的操作(自动或手动)时,该日志消息及其详细信息将存储在ir_logging表中。这可以回答您的问题,但是现在我想知道参数--log-db是什么,因为我已经对其进行了测试,并且无论是否设置了此参数,这些日志消息都存储在ir_logging中。