如何在Tomcat 6/7中滚动日志文件?
我知道Tomcat使用JULI logger。是否可以设置文件大小限制?如何在Tomcat 6/7中滚动日志文件?,tomcat,logging,Tomcat,Logging,我知道Tomcat使用JULI logger。是否可以设置文件大小限制? 我看到文件是以某种方式滚动的,但是在设置此参数的位置我无法确定。日志记录是在tomcat根目录中的/conf/Logging.properties中配置的 JULI filehandler每天滚动文件,如此处“rotatable”属性的javadoc所述: 我认为不可能在JULI中设置日志文件的大小限制,但是您可以将日志框架切换到Log4J(这里可以找到如何做到这一点的说明:)然后可以使用RollingFileAppend
我看到文件是以某种方式滚动的,但是在设置此参数的位置我无法确定。日志记录是在tomcat根目录中的
/conf/Logging.properties
中配置的
JULI filehandler每天滚动文件,如此处“rotatable”属性的javadoc所述:
我认为不可能在JULI中设置日志文件的大小限制,但是您可以将日志框架切换到Log4J(这里可以找到如何做到这一点的说明:)然后可以使用RollingFileAppender,它有一个最大文件大小选项。日志记录在tomcat根目录的
/conf/Logging.properties
中配置
JULI filehandler每天滚动文件,如此处“rotatable”属性的javadoc所述:
我认为不可能在JULI中设置日志文件的大小限制,但是您可以将日志框架切换到Log4J(这里可以找到如何做到这一点的说明:)然后您可以使用RollingFileAppender,它有一个最大文件大小的选项。您可以使用Log4j——这很好——但所有这些都基于java.util.logging结构。您可以用java.util.logging.FileHandler替换所有实例的“juli”文件处理程序。它允许日志大小和要保留的文件数:
- java.util.logging.FileHandler.limit指定近似的最大值 写入任何一个文件的量(字节)。如果这是零,那么 没有限制。(默认为无限制)
- java.util.logging.FileHandler.count指定输出文件的数量 循环(默认为1)
- java.util.logging.FileHandler.limit指定近似的最大值 写入任何一个文件的量(字节)。如果这是零,那么 没有限制。(默认为无限制)
- java.util.logging.FileHandler.count指定输出文件的数量 循环(默认为1)
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
若要在日志文件超过指定大小时进行旋转,可使用大小进行配置,如手册页中指定的
大小100k
,在Linux上运行Tomcat时,可通过logrotate处理(系统)日志文件的旋转。在我的Ubuntu(14.0.4 LTS)中,默认情况下,它配置为每天旋转tomcat日志(非空时)。最多保留7个日志文件,并压缩旋转的日志文件。这里可以找到确切的(默认)配置(注意,使用ubuntu负责管理tomcat等服务):
内容是
/var/log/upstart/*.log {
daily
missingok
rotate 7
compress
notifempty
nocreate
}
要在日志文件超过指定大小时进行旋转,可以使用手册页中指定的大小来配置,例如大小100k