S.O OpenSuse

openSUSE es un sistema operativo libre basado en Linux. La distribución openSUSE es estable, sencilla de usar, completa y de propósito general

Node.js

Node es una platafoma y un entorno de desarrollo basado en JavaScript al lado del servidor

Java

Java es un entorno de desarrollo multiplataforma

Java

Java es un entorno de desarrollo multiplataforma

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

sábado, 23 de mayo de 2015

Log usando Spring y Log4j

En esta entrada les traigo un ejemplo de como colocar un log dentro de nuestro sistema web usando Spring y la libreria de Apache Log4j

Requisitos:


  • JDK 1.6
  • NetBeans IDE
  • Log4j

  • Creamos un nuevo proyecto web desde Netbeans usando Spring.
    new --> web aplication 
    En la parte donde tenemos que elegir el framework usamos spring web MVC

    En el archivo web.xml configuramos el archivo log4j-helloworld.properties y nuestro DispatcherServlet.

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     
        <display-name>HelloWorld</display-name>
        <context-param>
            <param-name>log4jConfigLocation</param-name>
            <param-value>/WEB-INF/log4j-helloworld.properties</param-value>
        </context-param> 
        <listener>
            <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
        </listener>
        <servlet>
            <servlet-name>HelloWorld</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>HelloWorld</servlet-name>
            <url-pattern>*.html</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

    crear el archivo log4j-helloworld.properties en la ruta /WEB-INF/ e incluir la siguiente configuración en el
    log4j.rootLogger=ERROR, stdout, rollingFile
     
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
     
    log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
    log4j.appender.rollingFile.File=${webapp.root}/WEB-INF/logs/helloworld.log
    #log4j.appender.rollingFile.File=${catalina.home}/logs/helloworld.log
    log4j.appender.rollingFile.MaxFileSize=512KB
    log4j.appender.rollingFile.MaxBackupIndex=10
    log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
    log4j.appender.rollingFile.layout.ConversionPattern=%d %p [%c] - %m%n
    log4j.appender.rollingFile.Encoding=UTF-8

    posteriormente creamos el archivo de configuracion en la ruta y nombre /WEB-INF/HelloWorld-servlet

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd">
        <context:component-scan base-package="it.helloworld.controller" />
     
        <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix">
                <value>/WEB-INF/views/</value>
            </property>
            <property name="suffix">
                <value>.jsp</value>
            </property>
        </bean>
    </beans>

    creamos el archivo /WEB-INF/index.jsp
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd"> 
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Welcome Page</title>
        </head>
        <body>
            <jsp:forward page="helloWorld.html" />
        </body>
    </html>

    creamos el archivo WEB-INF/views/helloWorld.jsp con lo siguiente:
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World desde las vistas!!!</h1>
        </body>
    </html>

    creamos la siguiente clase HelloWorldController en el siguiente paquete: it.helloworld.controller

    package it.helloworld.controller;
     
    import org.apache.log4j.Logger;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
     
    @Controller
    public class HelloWorldController {
     
        private static org.apache.log4j.Logger log = Logger.getLogger(HelloWorldController.class);
     
        @RequestMapping(value = {"/index", "/helloWorld"})
        public ModelAndView helloWorld() {
     
            log.trace("Ejemplo Trace");
            log.debug("Ejemplo Debug");
            log.info("Ejemplo Info");
            log.warn("Ejemplo Warn");
            log.error("Ejemplo Error");
            log.fatal("Ejemplo Fatal");
     
            return new ModelAndView("helloWorld");
        }
    }


    les dejo el link del proyecto de prueba SpringLog