如何减少jetty中的服务器日志大小

时间:2012-06-28 09:12:09

标签: logging size jetty reduce

我想知道如何在达到10MB文件大小时分割jetty服务器日志并在运行时进行备份?

我正在使用jetty 8网络服务器。

提前致谢。

的iMesh

2 个答案:

答案 0 :(得分:1)

将slf4j api jar放入lib目录,slf4j将用于记录你想要的日志记录中的on..put并相应地进行配置

你可以看到基本的设置,其中logback在这里进行繁重的工作:

http://wiki.eclipse.org/Jetty/Tutorial/Sifting_Logs_with_Logback

答案 1 :(得分:1)

感谢Jesse的回复,但我没有尝试你提到的方式。我以这种方式解决了这个问题。下载了jetty源并获得了名为RolloverFileOutputStream.java的日志文件,然后我在maxFileLenth方法中更改了值RollTaskBySize()

long maxFileLenth  = 1048576*10L;    //(10MB)

我将此文件放在源代码中并更改了jetty-loggin.xml中的值。 设置路径以从我的项目中获取修改后的RolloverFileOutputStream.java,如下所示。

<Configure id="Server" class="org.eclipse.jetty.server.Server">
<New id="ServerLog" class="java.io.PrintStream">
  <Arg>
      <!-- ****** THIS IS THE CHANGE THAT I MADE ***** -->
      <New class="rezg.gdsws.util.RolloverFileOutputStream">
      <Arg>
<Property name="jetty.logs" default="/var/log/rezg/app/jetty"/>/yyyy_mm_dd.Server.log
      </Arg>
      <Arg type="boolean">false</Arg>
      <Arg type="int">90</Arg>
      <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
      <Get id="ServerLogName" name="datedFilename"/>
    </New>
  </Arg>
</New>