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

What is the use of logging menu in settings

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

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

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

--log-db

logs to the ir.logging model (ir_logging table) of the specified database. The database can be the name of a database in the “current” PostgreSQL, or a PostgreSQL URI for e.g. log aggregation

这是理论,但老实说,我没能让它发挥作用,我也没有浪费太多时间去了解原因。

编辑

正如@CZoellner 所说,日志消息似乎存储在 ir_logging table 中(点击菜单项 设置 -> 技术 -> 数据库结构 - 您会看到日志消息 - > 日志记录) 仅来自计划的操作。如果您创建一个执行某些 Python 代码的计划操作,您可以在方法代码中使用以下可用变量:

  • env:触发动作的 Odoo 环境。
  • model:触发动作的记录的Odoo模型;是一个无效的记录集。
  • record:触发动作的记录;可能无效。
  • records:multi-mode中触发动作的所有记录的记录集;可能无效。
  • timedatetimedateutiltimezone:有用的 Python 库。
  • log: log(message, level='info'): logging 函数记录调试信息 ir.logging table.
  • Warning: Warning Exception to use with raise To return 一个动作,赋值:action = {...}.

如果您使用 log 一个,例如:

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

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