{"id":57,"date":"2013-10-17T14:32:06","date_gmt":"2013-10-17T17:32:06","guid":{"rendered":"http:\/\/arielnavarrete.wordpress.com\/?p=57"},"modified":"2013-10-17T14:32:06","modified_gmt":"2013-10-17T17:32:06","slug":"envio-errores-por-correo-en-symfony2","status":"publish","type":"post","link":"https:\/\/arielnavarrete.cl\/blog\/2013\/10\/17\/envio-errores-por-correo-en-symfony2\/","title":{"rendered":"Envio Errores por Correo en Symfony2"},"content":{"rendered":"<p>Una de las cosas que m\u00e1s requeria cuando estaba creando mi proyecto en Symfony2, era el tema de saber cuando ocurria un error lo enviara por email, pero de una manera legible y sobre todo con informaci\u00f3n completa. Luego de buscar y buscar varios Bundle me encontre con <a title=\"Elao Error Notifier Bundle\" href=\"https:\/\/github.com\/Elao\/ErrorNotifierBundle\">ElaoErrorNotifierBundle<\/a>.<\/p>\n<p><!--more Seguir leyendo\u2026 --><\/p>\n<p>Este Bundle lo que hace es enviarte el error generado por correo pero te envia el mismo error que te muestra en DEV, es decir, con toda la informaci\u00f3n de donde se genero el error, porque archivos paso, quien genero el error, si existia una sesion, etc.<\/p>\n<p>La instalaci\u00f3n es bastante simple, incluimos en nuestros archivo composer.json la siguiente linea<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\u00a0&amp;quot;elao\/error-notifier-bundle&amp;quot; : &amp;quot;dev-master&amp;quot;<\/pre>\n<p>Ejecutamos nuestro update<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">php composer.phar update elao\/error-notifier-bundle<\/pre>\n<p>Despues, agregamos a nuestro <strong>AppKernel.php<\/strong><\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">new Elao\\ErrorNotifierBundle\\ElaoErrorNotifierBundle(),<\/pre>\n<p>Y lo unico que nos faltar\u00eda ser\u00eda agregarlo a nuestro archivo <strong>config.yml<\/strong>, en primera instancia lo agregaremos a este mismo (config.yml), ya que necesitamos hacer pruebas para ver si esta enviando o no los correos<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\nelao_error_notifier:\nfrom: %my_errores_mailer.from%\nto: %my_errores_mailer.to%\nhandle404: true # default :\u00a0 false\nhandlePHPErrors: true # catch fatal erros and email them\nhandlePHPWarnings: true # catch warnings and email them\n<\/pre>\n<p>Obviamente las variables entre <strong>%%<\/strong> las tengo declaradas en mi <strong>parameters.yml<\/strong> que son<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\nmy_mailer.class: AN\\MiBundle\\Services\\Mail\\MailManager\nmy_mailer.from:\u00a0 contactar@hola.cl\n<\/pre>\n<p>Donde <strong>MailManager<\/strong> es una clase de correo personalizada que tengo.<\/p>\n<p>Ahora generamos cualquier error en nuestro proyecto, por ejemplo escribiendo una URL que no exista, y aparte de mostrarlo en pantalla (ya que estamos en DEV) lo deber\u00eda enviar por correo.<\/p>\n<p>Si todo esta funcionando bien, entonces movemos nuestro codigo agregado al <strong>config.yml<\/strong> al archivo <strong>config_prod.yml<\/strong>, con esto le estamos indicando que solo cuando exista un error en Producci\u00f3n lo envie por correo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Una de las cosas que m\u00e1s requeria cuando estaba creando mi proyecto en Symfony2, era el tema de saber cuando ocurria un error lo enviara por email, pero de una manera legible y sobre todo con informaci\u00f3n completa. Luego de buscar y buscar varios Bundle me encontre con ElaoErrorNotifierBundle.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8,12],"tags":[18,19,25],"class_list":["post-57","post","type-post","status-publish","format-standard","hentry","category-errores-2","category-php-2","category-symfony2-2","tag-correo","tag-errores","tag-symfony2"],"_links":{"self":[{"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":0,"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"wp:attachment":[{"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arielnavarrete.cl\/blog\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}