Folks,<div><br></div><div>I define a number of locally scoped properties in my logback configuration which are reused throughout the remainder of the file. For example:</div><div><br></div><div><div><property name="LOG_DATE_FORMAT" value="'yyyy-MM-dd HH:mm:ss,SSS Z'" /></div>

<div><property name="LOG_TIMEZONE" value="" /></div><div><property name="LOG_BASEDIR" value="${catalina.base}/logs/myappname" /></div></div><div><br></div><div>...</div>

<div>...</div><div>...</div><div><br></div><div><div>  <appender name="MyAppName-RFA" class="ch.qos.logback.core.rolling.RollingFileAppender"></div><div>    <file>${LOG_BASEDIR}/myappname.log</file></div>

<div><br></div><div>    <filter class="ch.qos.logback.classic.filter.ThresholdFilter"></div><div>      <level>DEBUG</level></div><div>    </filter></div><div><br></div><div>    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"></div>

<div>      <!-- Monthly Rollover, 24 Month Retention --></div><div>      <fileNamePattern>${LOG_BASEDIR}/archive/%d{yyyy,aux}/myappname.%d{MM}.log.gz</fileNamePattern></div><div>      <maxHistory>24</maxHistory></div>

<div>    </rollingPolicy></div><div><br></div><div>    <encoder></div><div>      <pattern>%d{${LOG_DATE_FORMAT},${LOG_TIMEZONE}} %-6p [%X{MyAppName-UUID}] %c:%M - %m%n</pattern></div><div>      <outputPatternAsHeader>false</outputPatternAsHeader></div>

<div>    </encoder></div><div>  </appender></div></div><div><br></div><div>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.</div>

<div><br></div><div>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:<br>

<br>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.<br>

</div><div><br></div><div>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.</div>

<div><br></div><div>Regards,</div><div><br></div><div>Shane</div>