2

I am using Spring Boot with logback-spring.xml. Currently defining loglevel in logback-spring.xml as hard coded value. I need to inject this value from a application property file.

Need to define loglevel value INFO/ERROR in property file or Spring profile in yml for different enviornment want to change this log level differently. But for some reason my below configuration was not working.

My logback-srping.xml like below.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <springProperty name="myapplog" source="myapplog" />


    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -
                %msg%n</pattern>
        </encoder>
    </appender>






    <logger name="org.springframework" level="${myapplog}" additivity="false">
        <appender-ref ref="console" />
    </logger>

    <logger name="com.myapp.package" level="${myapplog}" additivity="false">
        <appender-ref ref="console" />
    </logger>



    <root level="INFO">
        <appender-ref ref="console" />
    </root>

</configuration>

my application-dev.properties will have below entry

myapplog=INFO

But logback always default the loglevel as DEBUG for my com.myapp.package package.

I am using Spring Bboot 1.5.2.Release and logback as logging library.

springbootlearner
  • 1,220
  • 4
  • 26
  • 48

0 Answers0