Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: CLogRouter в Yii

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
pantela
Отправлено: 20 Июля, 2016 - 18:26:06
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Имеется проект на Yii. Требуетсья сохранять логи любых запросов.

В проекте есть имееться код
PHP:
скопировать код в буфер обмена
  1. 'log'=>array(
  2.         'class'=>'CLogRouter',
  3.         'routes'=>array(
  4.                 array(
  5.                         'class'=>'CFileLogRoute',
  6.                         'levels'=>'error,trace,info,warning',
  7.                         'categories'=>'system.db.*',
  8.                         'logFile'=>'sql.log',
  9.                 ),
  10.                 // uncomment the following to show log messages on web pages
  11.                 /*
  12.                 array(
  13.                         'class'=>'CWebLogRoute',
  14.                 ),
  15.                 */
  16.         ),
  17. ),


Каторый сохраняет sql.log файл виде:
Цитата:
2016/07/20 19:25:01 [trace] [system.db.CDbConnection] Opening DB connection
2016/07/20 19:25:02 [trace] [system.db.CDbCommand] Querying SQL: SHOW FULL COLUMNS FROM `groups_common_permissions`
2016/07/20 19:25:02 [trace] [system.db.CDbCommand] Querying SQL: SHOW CREATE TABLE `groups_common_permissions`
2016/07/20 19:25:02 [trace] [system.db.ar.CActiveRecord] Groups.findAll()
2016/07/20 19:25:02 [trace] [system.db.CDbCommand] Querying SQL: SELECT * FROM `groups_common_permissions` `t`


Хотелось бы сохранять логи виде:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM  `clients` ORDER BY  `clients`.`id` DESC
  2. UPDATE  `fcu`.`clients` SET  `firstname` =  'Test' WHERE  `clients`.`id` =675;

...

т.е. в том виде в котором строиться запрос, ну и ответ от БД который будет тот тоже что бы выводился бы в логах.

+ если есть возможность сохранять лог файлов по дням, иначе сейчас всё в одном файле sql.log идёт...

спс.Ув.
 
 Top
pantela
Отправлено: 22 Июля, 2016 - 11:34:29
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Или может есть какой нибудь скрипт каторый все запросы к MySQL Будет соберать... ???
 
 Top
Мелкий Супермодератор
Отправлено: 22 Июля, 2016 - 12:21:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




pantela пишет:
Требуетсья сохранять логи любых запросов.

http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]n/query-log[dot]html


-----
PostgreSQL DBA
 
 Top
pantela
Отправлено: 24 Июля, 2016 - 12:54:31
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




К сожалению у меня стоит MySQL 5.5.25, а general query log вроде с MySQL 5.7.8...
Какие есть ещё идей...? Даже ищю какие нибудь готовые скрипт решения...

(Отредактировано автором: 24 Июля, 2016 - 12:55:03)

 
 Top
Мелкий Супермодератор
Отправлено: 24 Июля, 2016 - 20:05:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Да нет, это древняя штука. В 5.5 точно уже есть: http://dev[dot]mysql[dot]com/doc/refman/[dot][dot][dot]n/query-log[dot]html


-----
PostgreSQL DBA
 
 Top
pantela
Отправлено: 20 Августа, 2016 - 20:07:14
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Пытаюсь использовать данный функционал...
В файле my.ini добавил
CODE (htmlphp):
скопировать код в буфер обмена
  1. [mysqld]
  2. # Set Slow Query Log
  3. long_query_time = 1
  4. slow_query_log = 1
  5. slow_query_log_file = /usr/log/slowquery.log
  6. log_queries_not_using_indexes = 1
  7.  
  8. #Set General Log
  9. general_log = on
  10. general_log_file=/usr/log/general.log



Создал файлы:
Z:\usr\log\general.log
Z:\usr\log\slowquery.log

В phpMyAdmin выполняю SET GLOBAL general_log = 'ON';

Выполняю запрос, вижу:
CODE (SQL):
скопировать код в буфер обмена
  1. 160820 21:03:32      165 Connect    root@localhost ON fcu
  2.           165 Query    SET names utf8
  3. 160820 21:03:33      166 Connect    root@localhost ON fcu
  4.           166 Query    SET NAMES 'utf8'
  5.           166 Query    SHOW FULL COLUMNS FROM `groups_common_permissions`
  6.           166 Query    SHOW CREATE TABLE `groups_common_permissions`
  7.           166 Query    SELECT * FROM `groups_common_permissions` `t`
  8.           165 Quit    
  9.           166 Quit    
  10. 160820 21:03:34      167 Connect    root@localhost ON fcu
  11.           167 Query    SET names utf8
  12. 160820 21:03:35      168 Connect    root@localhost ON fcu
  13.           168 Query    SET NAMES 'utf8'
  14.           168 Query    SHOW FULL COLUMNS FROM `groups_common_permissions`
  15.           168 Query    SHOW CREATE TABLE `groups_common_permissions`
  16.           168 Query    SELECT * FROM `groups_common_permissions` `t`
  17.           167 Query    SELECT count(*) AS _count
  18.             FROM users
  19.             WHERE true
  20.           167 Query    SELECT id, gid, STATUS, login, password, firstname, surname, passport_number, birth_day, phone, email
  21.             FROM users
  22.             WHERE true
  23.         ORDER BY id DESC
  24. LIMIT 25 OFFSET 0
  25.           167 Quit    
  26.           168 Quit



Вопросы:
1. Как можно выводить в логах результат который был возвращен при при запросе...?
2. Пытаюсь сохранить логи в БД, содал таблицу general_log и выполнил запрос SET GLOBAL log_output = 'TABLE';, но в таблицу ничего не сохраняеться...
 
 Top
pantela
Отправлено: 26 Августа, 2016 - 00:28:08
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Начал делать на стороне приложения, что бы по своем желанию настраивать всё...

спс. Вопрос закрыт...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Прочее »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB