R K Singh
R K Singh

Reputation: 21

logback is ignoring springProfile tag

I want to logback to print log messages in file when profile is not 'local', if profile is local then I want it to print to console and as well file.

my logback.xml is as following.

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

  <!--  logger name="org.springframework.jdbc.core" level="debug" -->

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

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE}</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i</fileNamePattern>

            <!-- each file should be at most 10MB, keep 60 days worth of history, but at most 20GB -->
           <maxFileSize>10MB</maxFileSize>    
           <maxHistory>10</maxHistory>
           <totalSizeCap>2GB</totalSizeCap>
        </rollingPolicy>

        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS}  %-4relative [%thread] %-5level %logger{35}.%M %line - %msg%n</pattern>
        </encoder>
    </appender>

   <logger name="com.mycom.name" level="info" additivity="false">
    <appender-ref ref="FILE"/>
    <springProfile name="local">
        <appender-ref ref="STDOUT"/>
    </springProfile>

   </logger>

   <logger name="com.mycom.name" level="debug" additivity="false">
                <appender-ref ref="STDOUT"/>
    </logger>

<!--
  <root level="info">
    <springProfile name="local">
        <appender-ref ref="STDOUT"/>
    </springProfile>
        <appender-ref ref="FILE"/>  
  </root>

    <springProfile name="local">
      <root level="debug">
            <appender-ref ref="STDOUT"/>
      </root>
    </springProfile>      

 --> 
    <root level="error">
        <appender-ref ref="FILE" />
    </root>

</configuration>

I see that its ignoring the springProfile tag and not printing to console at all.

OR am I missing something ??

Upvotes: 2

Views: 2301

Answers (1)

Felix
Felix

Reputation: 1277

I had the same error in my logs:

Ignoring unknown property [springProfile]

As @Gremi64 mentioned, in order to make logback with springProfile tags work, you have to name it from logback.xml to logback-spring.xml.

More details in the official spring documentation.

Upvotes: 1

Related Questions