当前位置:  开发笔记 > 编程语言 > 正文

Zend_Log在application.ini中

如何解决《Zend_Log在application.ini中》经验,为你挑选了1个好方法。

有没有任何例子如何从application.ini设置zend日志的实例?我只找到了一个记录到文件的例子,但我想登录一个SQLITE数据库表?

Zend Log资源



1> Bill Karwin..:

好问题.我找不到Zend_Log_Writer_Db从引导程序配置实例化的方法.writer类需要一个Zend_Db_Adapter对象.它不接受字符串.

ZF项目需要进一步开发此用例.他们甚至没有任何单元测试Zend_Application_Resource_Log,包括Db作家.

在此之前我建议的最好的是你的Bootstrap类需要在_initLog()方法中自定义Log资源.

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

  protected function _initDb()
  {
    if ($this->hasPluginResource("db")) {
      $r = $this->getPluginResource("db");
      $db = $r->getDbAdapter();
      Zend_Registry::set("db", $db);
    }
  }

  protected function _initLog()
  {
    if ($this->hasPluginResource("log")) {
      $r = $this->getPluginResource("log");
      $log = $r->getLog();

      $db = Zend_Registry::get("db");
      $writer = new Zend_Log_Writer($db, "log", ...columnMap...);
      $log->addWriter($writer);

      Zend_Registry::set("log", $log);
    }
  }

}

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有