Error when <Property> name and value attributes are present, but value attribute is empty ("")

Folks, I define a number of locally scoped properties in my logback configuration which are reused throughout the remainder of the file. For example: <property name="LOG_DATE_FORMAT" value="'yyyy-MM-dd HH:mm:ss,SSS Z'" /> <property name="LOG_TIMEZONE" value="" /> <property name="LOG_BASEDIR" value="${catalina.base}/logs/myappname" /> ... ... ... <appender name="MyAppName-RFA" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_BASEDIR}/myappname.log</file> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- Monthly Rollover, 24 Month Retention --> <fileNamePattern>${LOG_BASEDIR}/archive/%d{yyyy,aux}/myappname.%d{MM}.log.gz</fileNamePattern> <maxHistory>24</maxHistory> </rollingPolicy> <encoder> <pattern>%d{${LOG_DATE_FORMAT},${LOG_TIMEZONE}} %-6p [%X{MyAppName-UUID}] %c:%M - %m%n</pattern> <outputPatternAsHeader>false</outputPatternAsHeader> </encoder> </appender> I have multiple rolling file appenders, so rather than define the values manually for each appender, I define the local property and reuse as appropriate. However, by default the LOG_TIMEZONE value is empty - I only want this value to be populated when a specific timezone is required. However, as a result of defining this property but specifying no value I get the following error message at startup: 18:30:41,402 |-ERROR in ch.qos.logback.core.joran.action.PropertyAction - In <property> element, either the "file" attribute alone, or the "resource" element alone, or both the "name" and "value" attributes must be set. I assume from this error message that a property cannot have a NULL/empty value - i.e. this is expected behaviour? I guess I could remove/comment the property if it is not being used in the current configuration - although I'd rather not remove it from the configuration file completely, since its presence also acts as a visual reminder of which properties can be set. Regards, Shane
participants (1)
-
Shane Kelly