Printing 记录器在Plone中使用受限Python脚本进行工作

Printing 记录器在Plone中使用受限Python脚本进行工作,printing,plone,zope,Printing,Plone,Zope,如何在.cpy文件(python)中打印?我正在使用Zope/Plone,我刚刚开始使用Python。我试过这个 import logging logger = logging.getLogger() logger.info("hello plone") 但它不起作用 感谢您的回答“它不工作”是非常模糊的,但您的问题可能是违反了对Python施加的安全沙箱,Python用于可以通过web编辑的脚本中。“受限Python”将您的导入限制为已审核的模块,以确保它们不会产生令人讨厌的副作用,例如将

如何在.cpy文件(python)中打印?我正在使用Zope/Plone,我刚刚开始使用Python。我试过这个

import logging

logger = logging.getLogger()
logger.info("hello plone")
但它不起作用

感谢您的回答

“它不工作”是非常模糊的,但您的问题可能是违反了对Python施加的安全沙箱,Python用于可以通过web编辑的脚本中。“受限Python”将您的导入限制为已审核的模块,以确保它们不会产生令人讨厌的副作用,例如将噪音转储到日志中。有关受限Python的详细信息,请参阅

这类问题的一般解决方案是在Python包中用不受限制的Python构建功能。Zope命名的实用程序是提供此类功能的常用机制,通过遍历命名的实用程序,您可以从受限Python访问该实用程序的操作。

“它不工作”非常模糊,但您的问题可能是违反了Python上的安全沙箱,该沙箱用于可以通过web编辑的脚本中。“受限Python”将您的导入限制为已审核的模块,以确保它们不会产生令人讨厌的副作用,例如将噪音转储到日志中。有关受限Python的详细信息,请参阅


这类问题的一般解决方案是在Python包中用不受限制的Python构建功能。Zope命名的实用程序是提供此类功能的常用机制,通过遍历命名的实用程序,您可以从受限Python访问该实用程序的操作。

上述答案意味着您无法通过web可编辑的Plone脚本导入受限Python脚本中的任何模块。这些脚本具有最终用户权限,因此不允许它们运行任意Python代码


您可以在受限python脚本中使用
context.plone\u log(“mystring”)
样式的日志记录用于日志记录目的。

上述答案意味着您无法通过web可编辑的plone脚本导入受限python脚本中的任何模块。这些脚本具有最终用户权限,因此不允许它们运行任意Python代码


您可以在受限python脚本中使用
context.plone\u log(“mystring”)
样式的日志记录来记录日志。

感谢您的回答。但我真的不知道该怎么解决这个问题。这是我的python脚本:我应该为这个脚本添加一些功能(这不是我的)。为此,我需要打印以方便调试。有两个files.log,但我没有在其中任何一个中找到我的“hello plone”。感谢您的帮助##Script(Python)“pwreset#u action.cpy”##bind container=container##bind context=context##bind namespace=#bind Script=Script##bind subpath=traverse#子路径###title=Reset用户密码##参数=randomstring,userid=None,password None,password2=None from Products.CMFCore.utils import getToolByName from Products.PasswordResetTool.PasswordResetTool import InvalidRequestError,ExpiredRequestError import logging status=“success”感谢您的回答。但我真的不知道该怎么解决这个问题。这是我的python脚本:我应该为这个脚本添加一些功能(这不是我的)。为此,我需要打印以方便调试。有两个files.log,但我没有在其中任何一个中找到我的“hello plone”。感谢您的帮助##Script(Python)“pwreset#u action.cpy”##bind container=container##bind context=context##bind namespace=#bind Script=Script##bind subpath=traverse#子路径###title=Reset用户密码##参数=randomstring,userid=None,password None,password2=Products.CMFCore.utils import getToolByName from Products.PasswordResetTool.PasswordResetTool import InvalidRequestError,ExpiredRequestError import logging status=“成功”