我的Tomcat日志在哪里?


26

我使用apt-get install tomcat6在Ubuntu 9.04服务器上安装了Tomcat6。我使用管理器界面上传了一个WAR,并尝试启动该应用程序,但是在Web界面上收到一个非常普通的错误,提示它无法启动。

我试图查找日志以确定为什么我的战争将不会开始(我怀疑内存不足,因为我使用的是小型VPS),但我不知道它们在哪里。

/ var / lib / tomcat6 / logs为空。我的Tomcat启动页面可靠地通知我以下情况:

Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 
CATALINA_BASE in /var/lib/tomcat6, 
following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.

更新

我试过跑步;

$ ps -ax 
/usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid

但是/ var / log / syslog中没有任何内容

也正在运行

$ losof -p PID

没有显示任何日志文件...

$  for PID in $(pgrep jsvc);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
l-wx------ 1 root 500 64 2010-03-30 13:29 1 -> pipe:[301470406]
lrwx------ 1 root 500 64 2010-03-30 13:29 1 -> /dev/null
l-wx------ 1 root root 64 2010-03-30 13:29 1 -> pipe:[301470406]

谢谢,

加夫

Answers:


5

讨论很晚,但是似乎tomcat5.5和tomcat6中的03catalina.policy文件实际上不允许写入日志文件。

最简单的解决方案是将JULI权限更改为:

// These permissions apply to JULI
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
    permission java.security.AllPermission;
};

显然,可能存在一些我不知道的安全性问题,但是我真的不愿意深入研究-我自己花了很长时间。


感谢您的更新,我自己从来没有做过这个工作,现在VPS已死。对我来说,没有写入日志是有道理的,因为在启动服务器时我从未见过打开过句柄。
gav 2012年

33

一个巧妙的技巧是运行命令“ lsof -p PID”,其中PID是您的tomcat服务器的进程ID。此命令将为您提供该进程打开的所有文件的列表,包括日志文件。参见Wikipedia页面


这是一个很棒的提示!不幸的是,我的所有进程都没有保存日志文件……不知道那意味着什么。
gav 2010年

2
这可能意味着该进程无法打开日志文件。您应该在控制台/ STDOUT上记录一些错误。如果您使用的是Linux,则可以尝试for PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici

使用apt-get安装Tomcat意味着将其配置为使用jsvc作为守护程序运行。只需将命令更改为(java-> jsvc)。该代码段返回了我问题底部的输出(注释格式不可读)。
gav 2010年

18

默认检查

/var/log/tomcat6/catalina.out 

或类似的东西

并检查中的日志记录属性

/usr/share/tomcat6/conf/logging.properties

通常/ usr / share / tomcat6 / conf /是/ etc / tomcat6 /的符号链接


/var/log/tomcat6/catalina.out不存在,/ usr / share / tomcat6 / conf文件夹也不存在。/etc/tomcat6/logging.properties建议$ {catalina.base} / logs是我正在寻找的目录,但是正如我所说,那里没有任何内容。Ho hum :(
gav

4

他们应该在 CATALINA_HOME/logs

我最常在上看到它/opt/tomcat/logs,但就您而言,可能是/usr/share/logs


1

默认情况下,Tomcat日志位于/var/log/tomcat?并且/var/lib/tomcat7/logs通常指向该位置。

作为root,您可以通过以下方式检查它们:

tail -f /var/log/tomcat7/*.log /var/log/tomcat7/*.txt /var/log/tomcat7/*.out

如果仍然有任何问题,请尝试通过以下方式找到它们:

sudo lsof | grep -E "java.*(out|txt|log)$"

-1

我们可以在Windows下找到类似以下的日志。C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ logs

另请参阅C:\ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-properties。


2
发布的问题是指Linux(特别是Ubuntu)安装。您给出的答案是基于Windows的安装。另外,这个问题已经有一个可以接受的答案。
科里S.18年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.