【发布时间】:2013-01-01 14:00:33
【问题描述】:
我正在为 Joomla! 开发一个扩展;目前我正在尝试使其与 3.0 兼容 - 与 3.0 一样,日志记录发生了一些变化(*)。基于答案from this related question,我当前的代码如下所示:
JLog::addLogger(array(
'text_file' => 'plg_system_myplg.log.php'
));
JLog::add('blah blah log msg');
问题是日志也会转到显示给用户的消息 - 我想防止这种情况发生,我希望日志消息只转到日志文件。我认为这与JLog::add 作为第三个(可选)参数的“类别”有关,但我不知道该传递什么?
谁能告诉我如何隐藏消息/或告诉我我的分类方法是否正确以及我应该使用什么值?
谢谢!
(*) 到目前为止,它实际上已经在 1.7 中发生了变化,但是在 JLog::getInstance(...) 返回时调用 addEntry 的旧方法似乎已从 2.5 删除到 3.0。
编辑:认为我现在找到了方法;使用:
JLog::addLogger(array(
'text_file' => 'plg_system_myplg.log.php',
JLog::ALL,
'myplg'
));
JLog::add('blah blah log msg', JLog::INFO, 'myplg');
我所有的日志条目只进入我的日志文件(而不是显示给用户的消息)。但是,我也收到了一些弃用警告 - 一个关于我的代码,还有一些不相关的警告:
WARNING deprecated JAccess::getActions is deprecated. Use JAccess::getActionsFromFile or JAcces::getActionsFromData instead.
WARNING deprecated JSubMenuHelper::getEntries() is deprecated. Use JHtmlSidebar::getEntries() instead.
WARNING deprecated JSubMenuHelper::getFilters() is deprecated. Use JHtmlSidebar::getFilters() instead.
WARNING deprecated JSubMenuHelper::getAction() is deprecated. Use JHtmlSidebar::getAction() instead.
不知道该怎么做 - 为什么它们会出现在我的日志文件中,它们不应该转到默认的 error.log 文件而不是我的文件吗?
【问题讨论】:
标签: joomla joomla2.5 joomla-extensions joomla3.0