我有几个使用java.util.logging的use应用程序。Tomcat 5.5配置为使用Juli记录器,以便每个own应用程序都有自己的日志文件。问题是Juli没有最大文件大小和文件数量的属性。使用Juli,文件将变得无界,并且只在一天结束时滚动。此外,日志文件的数量也不受限制。
您可以在此页面上查看FileHandler属性- Apache Tomcat 5.5 Documentation
没有limit或count属性(以下几行什么也不做)
org.apache.juli.FileHandler.limit=102400
org.apache.juli.FileHandler.count=5
在不改变webapps的情况下,有没有一种方法可以获得每个应用程序的唯一日志文件,并对日志文件大小进行某种类型的限制?
更新:我找到的解决方案是根本不使用Juli记录器!java.util.logging.FileHandler.limit=102400
java.util.logging.FileHandler.count=5
谢谢,
格雷格
发布于 2008-09-25 21:37:38
更新:在阅读了更多之后,我现在明白你的观点了。有趣的是,他们说默认的java.util.Logging实现太有限了,然后他们通过提供一个更有限的实现来解决这个问题。
对于每个web应用程序的一个文件,您可能希望通过记录器的名称来分隔它,这取决于如何为每个应用程序创建记录器。如果它们是基于包或类名的,那么您可以根据它们来过滤日志。看起来您提供的链接上的示例说明了如何执行此操作
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = \
2localhost.org.apache.juli.FileHandler
发布于 2008-10-05 14:51:51
编辑:我刚刚意识到你想要每个per应用的日志记录,这在这个设置中可能是不可能的……
假设您使用的是Tomcat6.0,我的建议是编译额外的组件以实现完整的commons-log,并使用Log4j来配置滚动日志。
此处的构建说明http://tomcat.apache.org/tomcat-6.0-doc/building.html
然后替换Tomcat的/bin目录中的tomcat-juli.jar,并将tomcat-juli-adapters.jar与log4j.jar和log4j.properties放在/lib目录中。
然后使用像这样的东西:
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="logfile.log"/>
<param name="Threshold" value="INFO"/>
<param name="MaxFileSize" value="10MB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ISO8601} %p %m%n"/>
</layout>
</appender>
https://stackoverflow.com/questions/136300
复制相似问题