Custome log in spring 5.1 onwords

Add a new class to your package myLoggerConfig.java
------------------------------------------------------------------------------

package com.mgt.springdemo;

import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MyLoggerConfig {

private String rootLoggerLevel;
private String printedLoggerLevel;

public void setRootLoggerLevel(String rootLoggerLevel) {
this.rootLoggerLevel = rootLoggerLevel;
}

public void setPrintedLoggerLevel(String printedLoggerLevel) {
this.printedLoggerLevel = printedLoggerLevel;
}

public void initLogger() {

// parse levels
Level rootLevel = Level.parse(rootLoggerLevel);
Level printedLevel = Level.parse(printedLoggerLevel);

// get logger for app context
Logger applicationContextLogger = Logger.getLogger(AnnotationConfigApplicationContext.class.getName());

// get parent logger
Logger loggerParent = applicationContextLogger.getParent();

// set root logging level
loggerParent.setLevel(rootLevel);

// set up console handler
ConsoleHandler consoleHandler = new ConsoleHandler();
consoleHandler.setLevel(printedLevel);
consoleHandler.setFormatter(new SimpleFormatter());

// add handler to the logger
loggerParent.addHandler(consoleHandler);
}

}




then add the following to your applicationContext.xml
-------------------------------------------------------------------------
<?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:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context.xsd">

    <!-- Define your beans here -->
 
   
     <bean id="myLoggerConfig" class="com.luv2code.springdemo.MyLoggerConfig" init-method="initLogger">
    <property name="rootLoggerLevel" value="FINE" />
    <property name="printedLoggerLevel" value="FINE"/>
    </bean>
   
       <bean id="myBook"
        class="com.mgt.springdemo.TrackBook">
    </bean>
   
   
</beans>


------------------------------
logger info bean always will be on the top of all beans as the above said.


Comments

Popular posts from this blog

Git Commands With Output Log

Java Interview Preparation (conceptual)

Java 8 Function Interface