Проблема timestamp в DbLog

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Проблема timestamp в DbLog

Сообщение german.igortcev »

Apache 2.2.4
PHP 5.5.9-1ubuntu4.5 (cli) (built: Oct 29 2014 11:59:10)

В окружении time() отображает в нормальном формате. - 1422915159

В дебаг панели время - 22:06:52.567 - непонятно откуда .567 в колонке time, т.е gridView. Выше показывает at 2015-02-02 10:06:52 pm by 127.0.0.1


Настройки лога

Код: Выделить всё

'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                'db'=>[
                    'class' => 'yii\log\DbTarget',
                    'levels' => ['error', 'warning', 'info'],
                   // 'except'=>['yii\web\HttpException:*', 'yii\i18n\I18N\*'],
                    'prefix'=>function(){
                        $url = !Yii::$app->request->isConsoleRequest ? Yii::$app->request->getUrl() : null;
                        return sprintf('[%s][%s]', Yii::$app->id, $url);
                    },
                    'logVars'=>[],
                    'logTable'=>'{{%system_log}}'
                ]
            ],
        ],
проблема

Код: Выделить всё

'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer: "1422914812.5537" The SQL being executed was: INSERT INTO "system_log" ("level", "category", "log_time", "prefix", "message") VALUES (4, 'yii\db\Connection::open', 1422914812.5537, '[app-backend][/log/index]', 'Opening DB connection: pgsql:host=localhost;dbname=development')'
Стоит тип int , а время в непонятном формате с точкой "1422914812.5537"
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Проблема timestamp в DbLog

Сообщение german.igortcev »

Никто не сталкивался?

Выяснил что это REQUEST_TIME_FLOAT
german.igortcev
Сообщения: 251
Зарегистрирован: 2014.08.18, 14:01

Re: Проблема timestamp в DbLog

Сообщение german.igortcev »

Временно сделал пожопски, залез в /yii/log/Dbtarget из заменил ':log_time' => $timestamp,

Код: Выделить всё

$command->bindValues([
                ':level' => $level,
                ':category' => $category,
                ':log_time' => time(),
                ':prefix' => $this->getMessagePrefix($message),
                ':message' => $text,
            ])->execute(); 
Подскажите где определяется $timestamp ? не смог найти, буду сам копать почему так с временем.
Ответить