Apache Velocity标准日志记录配置会创建太多的日志输出

时间:2014-11-12 12:03:35

标签: java apache tomcat logging velocity

我有一个小网页项目,我已经模板化了速度

我的web.xml配置非常简单

<servlet>
  <servlet-name>velocity</servlet-name>
  <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>
</servlet>
<init-param>
  <param-name>org.apache.velocity.properties</param-name>
  <param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
<servlet-mapping>
  <servlet-name>velocity</servlet-name>
  <url-pattern>*.html</url-pattern>
</servlet-mapping>

我的日志已经从org.apache.catalina.core.ApplicationContext

进行了这种日志记录。
Nov 06, 2014 4:25:24 PM org.apache.catalina.core.ApplicationContext log
INFORMATION:  Velocity   [info] WebappResourceLoader: added template path - '/WEB-INF/velocity/'
Nov 06, 2014 4:25:24 PM org.apache.catalina.core.ApplicationContext log
INFORMATION:  Velocity  [trace] WebappResourceLoader: initialization complete.
Nov 06, 2014 4:25:24 PM org.apache.catalina.core.ApplicationContext log
INFORMATION:  Velocity  [debug] ResourceLoader instantiated: org.apache.velocity.runtime.resource.loader.StringResourceLoader

日志入口总是如下: &#39;日期&#39; PM org.apache.catalina.core.ApplicationContext log 信息:Velocity&#39;一些非常无用的信息&#39;。

我有标准的tomcat配置,并希望避免在tomcat级别上更改某些内容。仍然不知道如何处理每天相当无用的60 MB日志文件。

有没有办法减少日志量?我知道有关记录velocity logging的速度文档,我发现它有点令人困惑。

任何帮助将不胜感激......

2 个答案:

答案 0 :(得分:1)

来自tomcat的额外行 ,因此您可以使用任何webapp看到它,如果不触及tomcat配置,您将无法删除它。这不是直截了当的,但并不难。例如,请参阅 how to set up log4j logging (此页面适用于tomcat 7,但请注意,如果它不是您的tomcat版本)。简而言之:

  1. log4j download page 下载log4j 1.2+ jar并将其放入tomcat/lib
  2. tomcat 7 download page 的额外部分下载tomcat-juli-adapters.jar和log4j的tomcat-juli.jartomcat-juli.jar进入tomcat/bintomcat-juli-adapters.jar进入tomcat/lib
  3. 您现在必须设置tomcat/lib/log4j.properties文件。有几个例子,这里有一个记录每日轮换tomcat/logs/tomcat.log文件中所有webapps的例子:

    log4j.rootCategory = info,旋转
    log4j.appender.rotating = org.apache.log4j.DailyRollingFileAppender log4j.appender.rotating.File = $ {}的catalina.home /logs/tomcat.log log4j.appender.rotating.DatePattern = '' YYYY-MM-DD log4j.appender.rotating.layout = org.apache.log4j.PatternLayout log4j.appender.rotating.layout.ConversionPattern =%d - %m%n

  4. 一旦你摆脱了这个额外的线,那么你可以设置Velocity日志级别。以下是/WEB-INF/velocity.properties的相关部分:

    runtime.log.logsystem.class = org.apache.velocity.runtime.log.ServletLogChute
    runtime.log.logsystem.servlet.level = info
    

答案 1 :(得分:0)

如果您在应用程序中使用log4j,那么Claude Brisson的答案可能是正确的。最后一部分对我帮助最大。

我正在使用commons-logging-1.1.jar,如在velocity项目的示例中那样。因此,只需将这两行配置添加到/WEB-INF/velocity.properties即可:

runtime.log.logsystem.class = org.apache.velocity.runtime.log.ServletLogChute
runtime.log.logsystem.servlet.level = info
相关问题