log4j tutorial

5
Rajeev Gupta Logging [email protected] What is logging ==================== logging is essential for debugging and for maintaing our application We must know what is going in our application, specially when error come SOP and printing exception message is not good? Writing system.out.println(“…..); ------------------------------------------- Should not be used for debugging messages, as it is very hard to remove those unnessary Sop once coding is done It may produce serious problem in production enveronmentheadach for admin peoples Real advantage of logging is that it can be enable/disable and debugging messages can be directed to the file Logging framewrok? ---------------------- Log 4j log back Commons logging java.util.logging most commonly used one is log4j --------------------------------------- we should not fix ourself with any one specific logging framework as we have to change as required.... go for facade ...use Simple Logging Facade for Java --------------------------

Upload: rguptamtech

Post on 04-Sep-2015

215 views

Category:

Documents


2 download

DESCRIPTION

log4j tutorial

TRANSCRIPT

  • Rajeev Gupta Logging [email protected]

    What is logging

    ====================

    logging is essential for debugging and for maintaing our application

    We must know what is going in our application, specially when error come

    SOP and printing exception message is not good?

    Writing system.out.println(..);

    -------------------------------------------

    Should not be used for debugging messages, as it is very hard to remove those unnessary

    Sop once coding is done

    It may produce serious problem in production enveronmentheadach for admin peoples

    Real advantage of logging is that it can be enable/disable and

    debugging messages can be directed to the file

    Logging framewrok?

    ----------------------

    Log 4j

    log back

    Commons logging

    java.util.logging

    most commonly used one is log4j

    ---------------------------------------

    we should not fix ourself with any one specific logging framework as we

    have to change as required....

    go for facade ...use Simple Logging Facade for Java

    --------------------------

  • Rajeev Gupta Logging [email protected]

    http://www.slf4j.org/

    SLF4j

    =======

    The Simple Logging Facade for Java or (SLF4J) serves as

    a simple facade or abstraction for various logging frameworks,

    e.g. java.util.logging, log4j and logback,

    allowing the end user to plug in the desired

    logging framework at deployment time

    Levels of logging

    ----------------

    ALL----------->log everything

    DEBUG

    INFO

  • Rajeev Gupta Logging [email protected]

    WARN

    ERROR

    FATAL

    OFF----------->Log nothing

    Starting log4j

    ---------------------

    steps:

    1.Download log4j

    http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip

    2. Downlod SLF4j

    http://www.slf4j.org/

    3. put 3 jar files in classpath

    4. Now we need to configure the logging ie to tell what are levels of

    logging and where to log?

    greate code on MKYong.com

    ------------------

    http://www.mkyong.com/logging/log4j-log4j-properties-examples/

    create a file log4j.properties

    ---------------------------------

    # Root logger option

    log4j.rootLogger=INFO, stdout

    # Direct log messages to stdout

    log4j.appender.stdout=org.apache.log4j.ConsoleAppender

    log4j.appender.stdout.Target=System.out

    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

    Hello World application

    --------------------------

    package com.demo;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    public class Applications {

  • Rajeev Gupta Logging [email protected]

    private static final Logger logger=LoggerFactory.getLogger(Applications.class);

    public static void main(String[] args) {

    System.out.println("Hello world logging");

    logger.info("stating logging!!!!");

    System.out.println("Hello world logging");

    logger.info("finished logging!!!!");

    }

    }

    example 2

    ----------------

    package com.demo;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    public class Application2 {

    private static final Logger logger=LoggerFactory.getLogger(Applications.class);

    public static void main(String[] args) {

    logger.info("start logging");

    String no="4x";

    try

    {

    Integer.parseInt(no);

    }

    catch(NumberFormatException ex)

    {

    logger.error("connot formet :"+no+" to and no....");

    }

    }

    }

    now try Output to an file

    -------------------------

    # Root logger option

    log4j.rootLogger=INFO, file

    # Direct log messages to a log file

    log4j.appender.file=org.apache.log4j.RollingFileAppender

    log4j.appender.file.File=C:\\loging.log

    log4j.appender.file.MaxFileSize=1MB

  • Rajeev Gupta Logging [email protected]

    log4j.appender.file.MaxBackupIndex=1

    log4j.appender.file.layout=org.apache.log4j.PatternLayout

    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n