{"id":1736,"date":"2014-10-07T17:49:32","date_gmt":"2014-10-07T22:49:32","guid":{"rendered":"http:\/\/blog.vortexbird.com\/?p=1049"},"modified":"2014-10-07T17:49:32","modified_gmt":"2014-10-07T22:49:32","slug":"crear-appender-para-la-consola-de-eclipse-con-log4j","status":"publish","type":"post","link":"https:\/\/vortexbird.com\/en\/crear-appender-para-la-consola-de-eclipse-con-log4j\/","title":{"rendered":"Crear appender para la consola de eclipse con LOG4J"},"content":{"rendered":"<p style=\"text-align: justify;\">\u00a1Buen d\u00eda!<\/p>\n<p style=\"text-align: justify;\">Les comparto el c\u00f3digo de un <em>appender<\/em> de <em>log4j<\/em> que puede ser \u00fatil para las personas que necesitan crear un a<em>ppender<\/em> que desde un <em>plugin<\/em> de Eclipse tenga la capacidad de imprimir <em>logs<\/em> en la consola de Eclipse.<\/p>\n<p style=\"text-align: justify;\">Le puede servir tambi\u00e9n a las personas que desean crear un <em>appender<\/em> propio para <em>log4j<\/em>.<\/p>\n<p style=\"text-align: justify;\">Esto lo aprend\u00ed creando la versi\u00f3n 5.0 de\u00a0<em><a href=\"http:\/\/zathuracode.org\/\">Zathuracode<\/a><\/em>.<\/p>\n<pre lang=\"xml\" escaped=\"true\">\npackage org.zcode.eclipse.plugin.log;\nimport java.io.IOException;\nimport org.apache.log4j.AppenderSkeleton; \nimport org.apache.log4j.spi.LoggingEvent; \nimport org.eclipse.ui.console.ConsolePlugin; import org.eclipse.ui.console.IConsole; \nimport org.eclipse.ui.console.IConsoleManager; \nimport org.eclipse.ui.console.MessageConsole; \nimport org.eclipse.ui.console.MessageConsoleStream;\n\/**  \n* Este appender sirve para imprimir los log de ZathuraCode en la consola de eclipse\n*\n* @author dgomez\n*\n*\/\npublic class EclipseAppender extends AppenderSkeleton { \n\tprivate static String CONSOLE_NAME=\"zathuraCodeConsole\"; \t \t\n\tprivate static MessageConsole myConsole=null; \t \t\n\tprivate static MessageConsoleStream out=null;  \t\n\tpublic EclipseAppender() { \t\t \t\t\n\t\tif(myConsole==null || out==null){ \t\t\t\n\t\t\tmyConsole = findConsole(CONSOLE_NAME); \t\t\t\n\t\t\tout = myConsole.newMessageStream(); \t\t    out.println(\"Zathuracode is Cool\"); \n\t\t} \t\t \n\t} \t \t\n\n\t@Override\n \tprotected void append(LoggingEvent loggingEvent) { \t\t\n\tout.println(getLayout().format(loggingEvent)); \t} \t \t\n\t\/*\n \t * Busca la consola de eclipse para poder escribir los log \t \n\t*\/\n \tprivate MessageConsole findConsole(String name) { \t      \n\tConsolePlugin plugin = ConsolePlugin.getDefault(); \t      \n\tIConsoleManager conMan = plugin.getConsoleManager(); \t      \n\tIConsole[] existing = conMan.getConsoles(); \t      \n\tfor (int i = 0; i &lt; existing.length; i++) \t         \n\t\tif (name.equals(existing[i].getName())) \t                    return (MessageConsole) existing[i]; \t    \t      \n\n\tMessageConsole myConsole = new MessageConsole(name, null); \t      \tconMan.addConsoles(new IConsole[]{myConsole}); \t      \n\treturn myConsole; \t   \n\t}  \t\n\t@Override \t\n\tpublic void close() { \n\t\ttry { \t\t\t\n\tif(out!=null){ \t\t\t\t\n\tout.close(); \t\t\t\t\n\tmyConsole=null; \t\t\t\t\n\tout=null; \t\t\t\n} \t\t\n} catch (IOException e) { \t\t\t\ne.printStackTrace(); \t\t\n} \t\n} \t \t\n@Override \t\npublic boolean requiresLayout() { \t\t\nreturn true; \n\t}\n}\n<\/pre>\n<p style=\"text-align: justify;\">La configuraci\u00f3n de log4j.xml es la siguiente:<\/p>\n<pre lang=\"xml\" escaped=\"true\">\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?> \n<!DOCTYPE log4j:configuration SYSTEM \"log4j.dtd\"> \n<log4j:configuration xmlns:log4j=\"http:\/\/jakarta.apache.org\/log4j\/\">  \n<appender name=\"EclipseAppender\" class=\"org.zcode.eclipse.plugin.log.EclipseAppender\"> \n    <layout class=\"org.apache.log4j.PatternLayout\">\n    <param name=\"ConversionPattern\" value=\"%-4r [%p] %-c %d{ISO8601}  %m%n\"\/>     \n   <\/layout>\n<\/appender>\n<root>\n   \t<priority value=\"info\"\/>    \n<!\u2014\n\t<priority value=\"off\"\/>     \n \t<priority value =\"debug\" \/>     \t\n\t<priority value =\"fatal\" \/>     \n-->          \n<appender-ref ref=\"EclipseAppender\"\/> \n<\/root>\n  <\/log4j:configuration>      \n\n<\/pre>\n<p>Y eso es todo, ya todos tus log usando log4j en un plugin de Eclipse se muestran en la consola.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a1Buen d\u00eda! Les comparto el c\u00f3digo de un appender de log4j que puede ser \u00fatil para las personas que necesitan &#8230; <a class=\"cz_readmore cz_readmore_no_icon\" href=\"https:\/\/vortexbird.com\/en\/crear-appender-para-la-consola-de-eclipse-con-log4j\/\"><span>Read more<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":1758,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[15,16],"tags":[100,101,102,103,104,105,106,107,108,109,110],"class_list":["post-1736","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javaee","category-javase","tag-appender","tag-appenderskeleton","tag-consoleplugin","tag-consoleplugin-getdefault","tag-create-log4j-appender","tag-custom","tag-eclipseappender","tag-log4j","tag-messageconsole","tag-messageconsolestream","tag-write-custom-appenders-for-log4"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Crear appender para la consola de eclipse con LOG4J - Vortexbird<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vortexbird.com\/en\/crear-appender-para-la-consola-de-eclipse-con-log4j\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crear appender para la consola de eclipse con LOG4J - Vortexbird\" \/>\n<meta property=\"og:description\" content=\"\u00a1Buen d\u00eda! Les comparto el c\u00f3digo de un appender de log4j que puede ser \u00fatil para las personas que necesitan ... Leer m\u00e1s\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vortexbird.com\/en\/crear-appender-para-la-consola-de-eclipse-con-log4j\/\" \/>\n<meta property=\"og:site_name\" content=\"Vortexbird\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-07T22:49:32+00:00\" \/>\n<meta name=\"author\" content=\"Vortex.bird\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vortex.bird\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/\"},\"author\":{\"name\":\"Vortex.bird\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/#\\\/schema\\\/person\\\/e69cef57e13dc876e812bed5602ce051\"},\"headline\":\"Crear appender para la consola de eclipse con LOG4J\",\"datePublished\":\"2014-10-07T22:49:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/\"},\"wordCount\":110,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"keywords\":[\"appender\",\"AppenderSkeleton\",\"ConsolePlugin\",\"ConsolePlugin.getDefault()\",\"create log4j appender\",\"custom\",\"EclipseAppender\",\"log4j\",\"MessageConsole\",\"MessageConsoleStream\",\"write-custom-appenders-for-log4\"],\"articleSection\":[\"JavaEE\",\"JavaSE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/\",\"url\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/\",\"name\":\"Crear appender para la consola de eclipse con LOG4J - Vortexbird\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2014-10-07T22:49:32+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/#\\\/schema\\\/person\\\/e69cef57e13dc876e812bed5602ce051\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/crear-appender-para-la-consola-de-eclipse-con-log4j\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/vortexbird.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Crear appender para la consola de eclipse con LOG4J\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/#website\",\"url\":\"https:\\\/\\\/vortexbird.com\\\/\",\"name\":\"Vortexbird\",\"description\":\"Desarrollo &aacute;gil de software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vortexbird.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vortexbird.com\\\/#\\\/schema\\\/person\\\/e69cef57e13dc876e812bed5602ce051\",\"name\":\"Vortex.bird\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2df6992145042f545b1961db71214364407f18374dd916ec8351acb05d2a8380?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2df6992145042f545b1961db71214364407f18374dd916ec8351acb05d2a8380?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2df6992145042f545b1961db71214364407f18374dd916ec8351acb05d2a8380?s=96&d=mm&r=g\",\"caption\":\"Vortex.bird\"},\"sameAs\":[\"https:\\\/\\\/vortexbird.com\"],\"url\":\"https:\\\/\\\/vortexbird.com\\\/en\\\/author\\\/vortexbird\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Crear appender para la consola de eclipse con LOG4J - Vortexbird","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vortexbird.com\/en\/crear-appender-para-la-consola-de-eclipse-con-log4j\/","og_locale":"en_US","og_type":"article","og_title":"Crear appender para la consola de eclipse con LOG4J - Vortexbird","og_description":"\u00a1Buen d\u00eda! Les comparto el c\u00f3digo de un appender de log4j que puede ser \u00fatil para las personas que necesitan ... Leer m\u00e1s","og_url":"https:\/\/vortexbird.com\/en\/crear-appender-para-la-consola-de-eclipse-con-log4j\/","og_site_name":"Vortexbird","article_published_time":"2014-10-07T22:49:32+00:00","author":"Vortex.bird","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Vortex.bird","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#article","isPartOf":{"@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/"},"author":{"name":"Vortex.bird","@id":"https:\/\/vortexbird.com\/#\/schema\/person\/e69cef57e13dc876e812bed5602ce051"},"headline":"Crear appender para la consola de eclipse con LOG4J","datePublished":"2014-10-07T22:49:32+00:00","mainEntityOfPage":{"@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/"},"wordCount":110,"commentCount":0,"image":{"@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#primaryimage"},"thumbnailUrl":"","keywords":["appender","AppenderSkeleton","ConsolePlugin","ConsolePlugin.getDefault()","create log4j appender","custom","EclipseAppender","log4j","MessageConsole","MessageConsoleStream","write-custom-appenders-for-log4"],"articleSection":["JavaEE","JavaSE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/","url":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/","name":"Crear appender para la consola de eclipse con LOG4J - Vortexbird","isPartOf":{"@id":"https:\/\/vortexbird.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#primaryimage"},"image":{"@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#primaryimage"},"thumbnailUrl":"","datePublished":"2014-10-07T22:49:32+00:00","author":{"@id":"https:\/\/vortexbird.com\/#\/schema\/person\/e69cef57e13dc876e812bed5602ce051"},"breadcrumb":{"@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/vortexbird.com\/crear-appender-para-la-consola-de-eclipse-con-log4j\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/vortexbird.com\/"},{"@type":"ListItem","position":2,"name":"Crear appender para la consola de eclipse con LOG4J"}]},{"@type":"WebSite","@id":"https:\/\/vortexbird.com\/#website","url":"https:\/\/vortexbird.com\/","name":"Vortexbird","description":"Desarrollo &aacute;gil de software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vortexbird.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vortexbird.com\/#\/schema\/person\/e69cef57e13dc876e812bed5602ce051","name":"Vortex.bird","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2df6992145042f545b1961db71214364407f18374dd916ec8351acb05d2a8380?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2df6992145042f545b1961db71214364407f18374dd916ec8351acb05d2a8380?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2df6992145042f545b1961db71214364407f18374dd916ec8351acb05d2a8380?s=96&d=mm&r=g","caption":"Vortex.bird"},"sameAs":["https:\/\/vortexbird.com"],"url":"https:\/\/vortexbird.com\/en\/author\/vortexbird\/"}]}},"_links":{"self":[{"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/posts\/1736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/comments?post=1736"}],"version-history":[{"count":0,"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/posts\/1736\/revisions"}],"wp:attachment":[{"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/media?parent=1736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/categories?post=1736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vortexbird.com\/en\/wp-json\/wp\/v2\/tags?post=1736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}