<if condition='property("HOSTNAME").contains("cheng")'>
<then>
<logger name="java.sql.Connection" level="DEBUG" />
<logger name="java.sql.Statement" level="DEBUG" />
<logger name="java.sql.PreparedStatement" level="DEBUG" />
<logger name="com.qccr.superconfig.dal.dao" additivity="false">
<level value="DEBUG" />
<appender-ref ref="STDOUT" />
<appender-ref ref="integration" />
<appender-ref ref="error" />
</logger>
</then>
</if>
在logback中使用以上配置,但没有起作用,去除判断则可以,但是调试的时候发现HOSTNAME是有的
不起作用说明logback内部在解析配置文件(logback.xml)出错,请将configuration标签的debug属性设置为true,这样可以把logback内部日志信息打印出来,关注ERROR信息。
我遇到这个问题是因为没有janino库导致无法解析condition表达式。在添加janino的依赖后就可以正常解析了。