Как изменить формат даты в "zend_log"

Как я могу изменить формат даты Zend_Log?

Теперь перед каждой новой записью добавляется дата с отметкой времени:
"2013-01-28T16: 47: 54 + 01: 00... какое-то сообщение журнала..."

Но я хотел бы отформатировать эту дату как:
"Гм H: I: S... некоторые сообщения журнала..."

Мой код выглядит так:

class Game_Logger {

    public function __construct($val, $txt = null) {
        $writer = new Zend_Log_Writer_Stream(APPLICATION_PATH . '/../log/log.log');
        $logger = new Zend_Log($writer);
        if (is_array($val)) {
            $output = Zend_Debug::dump($val, null, false);
        } else {
            $output = $val;
        }
        if($txt){
            $output = $txt.' '.$output;
        }
        $logger->info($output);
    }

}

1 ответ

Решение

Вероятно, это решит вашу проблему:

$logger->setTimestampFormat("H:i:s");
но что-то подсказывает мне, что ты уже понял это;).

Для Zend Framework 2 и 3 приведенный ниже код может помочь

    $logger = new \Zend\Log\Logger();

    $formatter = new  \Zend\Log\Formatter\Simple();
    $formatter->setDateTimeFormat('Y-m-d'); // as per your choice

    $writer = new \Zend\Log\Writer\Stream('php://output');
    $writer->setFormatter($formatter);
    $logger->addWriter($writer);
Другие вопросы по тегам