工作中遇到一个旧的项目,是使用SpringMVC的,日志使用log4j.xml进行配置,开发过程中如果需要显示debug级别的日志,需要通过改配置值,然后重启服务,比较繁琐,所以希望做到根据环境自动使用相应的配置
在pom的profile中设置properties
<profiles>
<profile>
<id>dev</id>
<properties>
<env>dev</env>
<log4j.level>DEBUG</log4j.level>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<env>prod</env>
<log4j.level>INFO</log4j.level>
</properties>
</profile>
</profiles>
在log4j.xml中根据log4j.level变量自动设置级别
<logger name="com.seven">
<level value="${log4j.level}"/>
</logger>
只需要以上两步配置就可以了。
当然还有其他用法,比如根据这个变量属性使用不同的 appender ,可参考 http://blog.sina.com.cn/s/blog_8f99a1640102v3eo.html 这位兄台的链接,我就不重复造轮子了。