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

Sev*_*ape 1 odoo odoo-11

日志菜单中的用途/目的是什么

Settings -> Technical -> Database structure -> Logging
Run Code Online (Sandbox Code Playgroud)

for*_*vas 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库。
  • log::log(message, level='info')日志记录功能,将调试信息记录在ir.logging表中。
  • Warning:警告与raise一起使用的异常要返回操作,请分配:action = {...}。

如果使用log一个,例如:

log('This message will be stored in ir_logging table', level='critical')
Run Code Online (Sandbox Code Playgroud)

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

  • 看来您是对的,我已经编辑了答案,但现在不知道`--log-db`是什么。 (2认同)