我想知道如何在达到10MB文件大小时分割jetty服务器日志并在运行时进行备份?
我正在使用jetty 8网络服务器。
提前致谢。
的iMesh
答案 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>