去除DWR每次呼叫都輸出日誌的問題
相信大家使用DWR的時候都會遇到這樣的問題,每次通過js呼叫後臺的方法的時候,螢幕都會輸出:
Exec: ScriptName() . MethodName()
這樣的語句讓人看到很心煩。
導致這個問題出現的原因是org.directwebremoting.impl.DefaultRemoter類的execute方法每次執行時呼叫了
log.info("Exec: " + call.getScriptName() + "." + call.getMethodName() + "()");這條語句導致的。
要去掉這樣的在螢幕上不停有2種辦法:
1:重新編譯jar檔案,將DefaultRemoter類的execute類的這條語句去掉。
2:通過配置log配置的級別為ERROR
第一中方法就不細說了,下載DWR原始碼,建立一個java工程,將相應的jar檔案放進去就可以重新編譯了。
第2中方法也很簡單。
我用的是log4j來輸出日誌的,下面是我的log4j配置資訊
log4j.rootCategory=INFO,stdout
log4j.logger.org.directwebremoting.impl.DefaultRemoter=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
加了這條語句log4j.logger.org.directwebremoting.impl.DefaultRemoter=ERROR後,每次js呼叫java方法,日誌輸出就消失了。