GVKun编程网logo

catalina.out与Tomcat 6.0一起滚动(tomcat的catalina.out在哪)

23

对于catalina.out与Tomcat6.0一起滚动感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍tomcat的catalina.out在哪,并为您提供关于centos按日期分割tomca

对于catalina.out与Tomcat 6.0一起滚动感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍tomcat的catalina.out在哪,并为您提供关于centos 按日期分割 tomcat/logs/catalina.out 文件、Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)、java – Openshift tomcat的日志:catalina.out和localhost.out内容、linux tomcat catalina.out 中文乱码的有用信息。

本文目录一览:

catalina.out与Tomcat 6.0一起滚动(tomcat的catalina.out在哪)

catalina.out与Tomcat 6.0一起滚动(tomcat的catalina.out在哪)

我有默认的tomcat安装,没有更改日志记录配置。日志文件(特别是catalina.out)似乎已正确滚动(每天)。

但是,除了每日日志外,还有一个catalina.out文件,该文件还在继续增长。这是我需要解决的问题,即每天将其清除(或尽可能将其彻底清除)

有人可以解释这里发生了什么以及控制该日志文件大小的最佳最佳策略吗?

只是为了澄清输出是同时写入catalina.out和每日日志

-rw-r--r--  1 solr solr   90920663 Jul 18 01:16 logs/catalina.2009-07-18.log-rw-r--r--  1 solr solr     238010 Jul 18 01:16 logs/catalina.out

设置swallowOutput似乎没有任何区别。

如果相关,在tomcat下运行的应用程序是solr。

答案1

小编典典

对其进行修复后,原来的标准日志记录配置定义了文件记录器和控制台记录器。文件记录器转到每日的catalina日志,控制台记录器将记录到catalina.out。

解决的方法是更改​​conf / logging.properties:

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler

这样就不会将任何内容写入catalina.out

centos 按日期分割 tomcat/logs/catalina.out 文件

centos 按日期分割 tomcat/logs/catalina.out 文件

为了避免文件过大影响 tomcat 性能,同时方便查看日志,故分割该日志文件是很有必要的。下面记一下测试过可行的方法;

环境:centos5.9-64, tomcat7.0

方法一:

打开 tomcat/bin/catalina.sh,找到

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

修改为:

CATALINA_OUT="$CATALINA_BASE"/logs/catalina"-`date "+%Y-%m-%d"`".out

保存,重启 tomcat 即可。

其他方法待更新;

Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)

Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)

一:概念

catalina.home (安装目录):指向公用信息的位置,就是 bin 和 lib 的父目录。

catalina.base (工作目录):指向每个 Tomcat 目录私有信息的位置,就是 conf、logs、temp、webapps 和 work 的父目录。

 

 录结构如下:

 

bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM 临时文件目录 [java.io.tmpdir])

 

 

 

二实例说明:

 

创建两个目录 tomcat1 和 tomcat2; 然后将上图属于 catalina.base 的文件夹拷贝过来

 

 

tomcat1:

tomcat2:

 

 

 

 

 

 然后在 tomcat1 和 tomcat2 的文件夹下创建 startup.bat

set "CATALINA_BASE=%cd%"
set "CATALINA_HOME=D:\apache-tomcat-9.0.26"
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

call "%EXECUTABLE%" start

 

 然后我们可以在 tomcat ins1 下的 conf 中的 server.xml 中修改 http 端口号分别为 8066

 

tomcat2 的做法和 tomcat1 一样只不过端口号改为 8077

 

其它端口也得处理,否则冲突

分别双击 startup.bat

 

 

java – Openshift tomcat的日志:catalina.out和localhost.out内容

java – Openshift tomcat的日志:catalina.out和localhost.out内容

我已在openshift tomcat7盒式磁带下部署了我的WAR应用程序.

在我的应用程序中,我使用log4j.我的log4j.properties看起来像:

log4j.rootCategory=info,A1,A2
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=myapp.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
log4j.appender.A1.encoding=UTF-8
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d %p (%t) [%c] - %m%n
log4j.appender.A2.encoding=UTF-8

问题是在我的openshift应用程序的$OPENSHIFT_LOG_DIR文件夹中只有两个日志文件:

[myapp.rhcloud.com logs]\> ls
jbossews.log  postgresql.log

在jbossews.log中,我只看到与catalina.out相关的日志行,如果在本地Tomcat 7下运行应用程序.更具体地说,在jbossews.log中我看到一般错误信息,如:

INFO: deploying web application archive /var/lib/openshift/54...1d/app-root/runtime/dependencies/jbossews/webapps/myapp.war
Mar 05,2015 12:00:02 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Mar 05,2015 12:00:02 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/myapp] startup Failed due to prevIoUs errors
Mar 05,2015 12:00:02 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /var/lib/openshift/54...1d/app-root/runtime/dependencies/jbossews/webapps/myapp.war has
finished in 8,867 ms

但我看不到我的错误的细节,这些错误通常打印在localhost.out下的本地Tomcat 7下.

那么,我如何配置我的装备或应用程序以查看完整日志?谢谢.

UPD:这不是关于日志级别,因为我错过的日志部分具有错误级别.此外,如果我在本地tomcat下运行我的应用程序,我可以看到这样的事情.

解决方法

我们一直面临同样的问题.在我们的例子中,我们有一个spring应用程序可以将所有日志打印到jbossews.log,但是如果其中一个bean在启动期间出错,则错误堆栈跟踪不会打印到jbosews.log或其他任何地方.在vanilla tomcat上,这些堆栈跟踪将打印到localhost.out罚款.我们尝试过已接受的解决方案,但由于某些原因它无法运行.

但是下面的技巧对我们有用:

在.openshift / config / logging.properties中替换为:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

有了这个:

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler,java.util.logging.ConsoleHandler

出于某种原因,通过添加java.util.logging.ConsoleHandler作为处理程序之一,在vanilla tomcat中转到localhost.out的堆栈跟踪(和其他消息)现在转到openshift中的jbossews.log.

希望这有助于某人.

linux tomcat catalina.out 中文乱码

linux tomcat catalina.out 中文乱码

在catalina.sh中增加一行代码即可:

JAVA_OPTS="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"

 

关于catalina.out与Tomcat 6.0一起滚动tomcat的catalina.out在哪的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于centos 按日期分割 tomcat/logs/catalina.out 文件、Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)、java – Openshift tomcat的日志:catalina.out和localhost.out内容、linux tomcat catalina.out 中文乱码的相关知识,请在本站寻找。

本文标签: