Odoo 11-打印和记录电话神秘地无所作为

时间:2019-05-09 00:15:47

标签: python logging odoo-11

我有以下代码,当在Odoo-11服务器上运行时,该代码应该打印并记录内容,但是该代码不能执行此操作。那就是您的来历。我需要有人告诉我我的代码出了什么问题以及为什么print和logging语句不起作用。我注意到创建了一个空的日志文件,但该日志文件内部没有任何内容。我使用的操作系统是Windows 7 Professional。我期望在odoo.log文件中找到打印语句。我尝试更改日志级别,但是我认为在DEBUG(当前级别)下,无论info还是debugerror的严重性,所有内容都会被打印出来。我正在查看以查看打印语句的日志文件位于操作系统(OS)上的以下路径中:C:\Program Files (x86)\Odoo 11.0\server\odoo.log

我的代码如下。看到我认为无关紧要的观点。我在编辑中添加了视图。 0_o单击简单的按钮即可调用代码。我测试了按钮单击是否可以在某些类似Python的情况下使用:

with open('file', 'w') as f:
     f.write('hi')

点击按钮时,这会写入odoo.log之外的驱动器或使用logging模块创建的日志中。我从下面代码中有问题的print_name()方法中删除了此代码。我很好奇为什么print()logging.debug()调用不起作用。

# -*- coding: utf-8 -*-
from odoo import models, fields, api

import logging

logger = logging.getLogger('roll-your-own-odoo-logger')
file_handler = logging.FileHandler('C:\\Users\\username\\Desktop\\odoo-python.log')
file_handler.setLevel(logging.DEBUG)

f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(f_format)

logger.addHandler(file_handler)

class PhoneBook(models.Model):
    _name = 'phone.book'
    _description = 'This is a phone book.'

    name = fields.Char(string="Name", required=True)


    def print_name(self):
        """ This will print stuff - nothing fancy """
        logger.info("Name of record: %s" % self.name)
        print("Name of record: %s" % self.name)
        return True

视图如下:

<odoo>
  <data>
    <!-- LIST VIEW -->
    <record id="phone_book_view_tree" model="ir.ui.view">
        <field name="name"> All Phonebook Records</field>
        <field name="model">phone.book</field>
        <field name="arch" type="xml">
            <tree>
                <field name="name" />
            </tree>
        </field>
    </record>

    <!-- record for the "ir.action.act_window" -->
    <record id="action_records_form" model="ir.actions.act_window">
        <field name="name">Phonebook Records</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">phone.book</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
    </record>
    <!-- record for the "ir.actions.act_window" -->

    <!--menu point -->
    <menuitem id="menu records" name="Phonebook Records" sequence="22" />

    <!-- action for the menu point --> 
    <menuitem action="action_records_form" id="menu_action_recs" 
    parent="menu records" sequence="10" />

    <!--Create a Form View for "phone.book" model -->
    <record id="view_calls_form" model="ir.ui.view">
        <field name="name">Phonebook Record</field>
        <field name="model">phone.book</field>
        <field name="arch" type="xml">
        <form>
            <sheet>
                <group name="group_top">
                    <group name="group_left">
                         <!-- add a button -->
                         <button name="print_name" string="Print" type="object"/>
                        <field name="name" />
                    </group>
                </group>
            </sheet>
          </form>
        </field>
    </record>
  </data>
</odoo>


0 个答案:

没有答案