Dúvida para manipular error no CAKEPHP 3.

20 views
Skip to first unread message

Hermiro Carvalho

unread,
Sep 23, 2019, 10:19:20 AM9/23/19
to CakePHP Tuga
Bom dia.

Pessoal, eu estou procurando aqui no grupo e na internet porém não encontrei nada me ajude com o que eu preciso.
Eu preciso criar uma lógica para controlar erros fatais... eu preciso criar uma função, componente ou algo assim que no momento em que ocorrer algum erro fatal eu consiga gravar isso numa tabela no banco de dados.
Eu acho que o cakephp já faça isso, mas eu não achei nenhum exemplo simples para me dar uma direção do que fazer... Se alguém puder me ajudar, fico grato.

Cauan Cabral

unread,
Sep 23, 2019, 10:28:24 AM9/23/19
to CakePHP Tuga
Bom dia Hermiro,

Existem algumas diferenças nos tipos de erros - tem os fatais, que podem ser até falta de acesso ao banco dedados, e tem os erros vindos de exceções gerais da aplicação.

Esse trecho da documentação explica beeeem por cima que você precisa ter uma classe que estenda Cake\Error\BaseErrorHandler
Nela você vai implementar sua lógica. É importante lembrar que o tratamento de erro precisa ser o mais resiliente possível, geralmente, dependendo de recursos
com alta disponibilidade (arquivos ou banco de dados) porque se alguma dependência falhar na hora de salvar um erro, quem vai registrar o erro do erro?


Se tiver dificuldades para implementar a classe, vai atualizando a thread.

Att,

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+...@googlegroups.com.
Para ver este debate na Web, visite https://groups.google.com/d/msgid/cakephp-pt/c9e54490-3cb7-4a3d-bf3d-d6e63deb5228%40googlegroups.com.


--
Cauan Cabral
----------------
Como falar comigo: Hangout: cau...@gmail.com Skype: CauanCabral 
Onde me encontrar: LinkedinWordpressTwitter

Hermiro Carvalho

unread,
Sep 23, 2019, 10:49:31 AM9/23/19
to CakePHP Tuga
Cauan.

Então... eu vi essa documentação, mas vou te falar que eu não entendi muito bem... e no bake eu não vi uma opção para criar essa classe... então pelo jeito eu vou ter que fazer manualmente... 
Falando sobre o objetivo disso... eu queria captar os erroe gerais da aplicação... só para pegar (por exemplo) aquela divisão por zero que o usuário não prestou atenção ou não sabia que poderia acontecer... Mas eu vou dar uma olhada melhor nela... Por enquanto eu vou deixar o posto em aberto para ir comentando sobre meus testes....


Em segunda-feira, 23 de setembro de 2019 11:28:24 UTC-3, Cauan Cabral escreveu:
Bom dia Hermiro,

Existem algumas diferenças nos tipos de erros - tem os fatais, que podem ser até falta de acesso ao banco dedados, e tem os erros vindos de exceções gerais da aplicação.

Esse trecho da documentação explica beeeem por cima que você precisa ter uma classe que estenda Cake\Error\BaseErrorHandler
Nela você vai implementar sua lógica. É importante lembrar que o tratamento de erro precisa ser o mais resiliente possível, geralmente, dependendo de recursos
com alta disponibilidade (arquivos ou banco de dados) porque se alguma dependência falhar na hora de salvar um erro, quem vai registrar o erro do erro?


Se tiver dificuldades para implementar a classe, vai atualizando a thread.

Att,

On Mon, Sep 23, 2019 at 10:19 AM Hermiro Carvalho <miro9...@gmail.com> wrote:
Bom dia.

Pessoal, eu estou procurando aqui no grupo e na internet porém não encontrei nada me ajude com o que eu preciso.
Eu preciso criar uma lógica para controlar erros fatais... eu preciso criar uma função, componente ou algo assim que no momento em que ocorrer algum erro fatal eu consiga gravar isso numa tabela no banco de dados.
Eu acho que o cakephp já faça isso, mas eu não achei nenhum exemplo simples para me dar uma direção do que fazer... Se alguém puder me ajudar, fico grato.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque subscreveu ao grupo "CakePHP Tuga" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakep...@googlegroups.com.

Cauan Cabral

unread,
Sep 23, 2019, 2:58:29 PM9/23/19
to CakePHP Tuga
Entendi. Ele não tem no bake porque é algo bem específico e de certa forma, avançado.

Sobre sua motivação, não seria o caso de implementar regras de validação para as tabelas e entidades?
Porque tratando exatamente onde acontece o erro (em uma rotina na tabela/controller), é mais fácil você ter o contexto
daquele erro (saber qual registro/página o usuário estava usando) e com isso poder apresentar uma mensagem mais
informativa.

Esse tratamento de erros do Cake, é para casos mais "baixo nível", quando um recurso não está disponível ou não responde
adequadamente (api/banco/cache).
Nada impede de tentar centralizar nele todos os tipos de erro, mas você vai perder muitas informações de contexto e a habilidade
de tratar da forma menos invasiva/bruta.


Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para cakephp-pt+...@googlegroups.com.
Para ver este debate na Web, visite https://groups.google.com/d/msgid/cakephp-pt/ff32d154-f7ff-481f-b5d5-834a62e2e4f5%40googlegroups.com.

Hermiro Carvalho

unread,
Sep 30, 2019, 7:20:34 AM9/30/19
to CakePHP Tuga
Bom dia Cauan.

A minha motivação seria simplesmente ter maior controle sobre os erros que podem acontecer durante o runTime da aplicação, mais ou menos com o set_error_handler faz no PHP normal... como já falei antes... pode ocorrer uma divisão por zero e nesse momento eu queria ver um log do ambiente que gerou esse erro.... mas a documentação do CAKE não me ajudou muito... aí eu realmente comecei a pensar no que voce disse e tentar fazer o esse controle por tabela/controller pois assim eu posso usar um componente por exemplo para guardar em tabela para conseguir visualizar o ambiente no momento do erro... nessa semana eu vou criar um componente e vou começar os teste e vou  postando aqui... 

Hermiro Carvalho

unread,
Oct 15, 2019, 1:02:10 PM10/15/19
to CakePHP Tuga
Boa tarde.

Estudando um pouco mais a documentação do CAKE3 percebi que fiz uma certa confusão... pois o que eu precisava era entender melhor o sistema de LOG que o cakephp gera... o próprio cakephp já cria um sistema de log baseado em arquivo que fica na pasta logs... ali tem os arquivos de log e para mim já seria suficiente para o meu desenvolvimento... inclusive é possivel gerar um arquivo diferente para cada controller, o que também já ajuda muito... agora estou pesquisando como gerar um log numa tabela do MYSQL/MARIA db ao invés do arquivo... mas fica a dica... 

Hermiro Carvalho

unread,
Apr 20, 2020, 2:41:24 PM4/20/20
to CakePHP Tuga
Tarde, turma.

Para atualizar este post... 
Eu fiz um componente que faz uma encriptação/decriptação utilizando OPENSSL e base64... funcionou perfeitamente....
Porém quando fui fazer edit, ele mostrou os seguinte erro:

Erro CakephpID.jpg

Lá no arquivo de LOG, eu tenho o seguinte...


Erro CAKEPHPID 2.jpg

Pergunto: Alguém sabe onde eu configuro aquele horário que aparece ali? Porque eu acabei de gerar esse erro (às 15:39) mas o horário que está á é outro...

Se alguém souber e puder me ajudar...



Em segunda-feira, 23 de setembro de 2019 11:19:20 UTC-3, Hermiro Carvalho escreveu:
Reply all
Reply to author
Forward
0 new messages