php - Como escrever no log toda vez que um erro for gerado? - Stack Overflow em Português
Como escrever no log toda vez que um erro for gerado?
1 - Gostaria de saber quais são os métodos para fazer analise e tratamento de erros para sites com grande trafego.
Estou trabalhando com um site que está em wordpress, e venho me deparando com alguns erros diariamente.
Erro de banco de dados do WordPress Lock wait timeout exceeded; try restarting transaction para a consulta INSERT INTO `wp_options` (`option_name`, `option_value`, `autoload`) VALUES ('_transient_doing_cron', '1497992508.0405650138854980468750', 'yes') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`) feita por require('D:\home\site\wwwroot\wp-blog-header.php'), require_once('D:\home\site\wwwroot\wp-load.php'), require_once('D:\home\site\wwwroot\wp-config.php'), require_once('D:\home\site\wwwroot\wp-settings.php'), do_action('init'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, wp_cron, spawn_cron, set_transient, add_option
PHP Fatal error:  Call to a member function have_posts() on null in D:\home\site\wwwroot\wp-content\themes\x\archive.php on line 75
Não tenho experiencia em tratamento de erros, então gostaria de saber qual melhor forma para se analisar e se tratar erros através de logs.
2 - Existe uma maneira mais eficiente de descobrir qual pagina gerou o erro ?
O que tenho feito é ir até o arquivo e linha que o log indica, e analisar por meio de teste de mesa o que ocorre. Entretanto não são todos os erros que me indicam um arquivo. E são esses que eu não consigo tratar, quando eu não sei como reproduzir o erro acabo não sabendo onde devo alterar para resolver o problema.
Utilizo o php 5.6, tentei utilizar FirePHP, ele me ajudou bastante mas só nos casos onde o log indica arquivo e linha.
Existe um procedimento padrão ? Existe uma maneira de obter mais informações sobre um erro ? Como eu faço para que quando um erro for gerado no log, alem das informações padrões, contenha tbm as informações que eu desejar??
Exemplo - Usuário entra na pagina www.dominio.com.br e clica em um botão que redireciona ele para a url www.dominio.com.br/teste.php que contem um erro. Gostaria que para qualquer erro, seja escrito no log : O padrão php + Caminho do arquivo + Caminho anterior ao arquivo: