去除FreeMarker可恶的Stack Trace
Freemarker的确是不错又简洁的模板语言.
不过用在servlet中会产生非常非常多的错误日志,多得让人发晕.
?
对于ftl文件,错误是很明显的,只需要一点点的提示,说明错误在哪一行就行了,不需要把stack trace打来出.
?
如何去除呢?
?
首先,你必须重载FreemarkerServlet , 在它的init()函数中引入一个新的TemplateExceptionHandler,
?
?
?
然后,在log4j.properties中加入:
log4j.logger.freemarker=FATAL
?
ok,大功告成.
?
我们做了什么呢?
?
1. 重载了Freemarker默认的TemplateExceptionHandler,在处理日志时输出错误.
2. 禁用Freemarker原始的log4j日志方式(通过配置)