Tomcat Günlüklerim nerede?


26

Tomcat6'yı apt-get install tomcat6 kullanarak Ubuntu 9.04 sunucusuna yükledim. Yönetici arayüzünü kullanarak bir WAR yükledim ve uygulamayı başlatmaya çalıştım, ancak Web arayüzünde başlatılamadığını söyleyen oldukça genel bir hata aldım.

Savaşımın neden başlamayacağını belirlemek için günlükleri bulmaya çalışıyorum (küçük bir VPS’de olduğum için düşük bellek olduğundan şüpheleniyorum) ama nerede olduklarını bilmiyorum.

/ var / lib / tomcat6 / logs boş. Tomcat açılış sayfam güvenilir bir şekilde aşağıdakileri bildirir;

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.

GÜNCELLEŞTİRME

Koşmayı denedim;

$ 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

Fakat / var / log / syslog'da hiçbir şey yok

Ayrıca koşuyor

$ losof -p PID

herhangi bir günlük dosyası göstermedi ...

$  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]

Teşekkürler,

Gav

Yanıtlar:


5

Bu tartışmaya çok geç kaldı, ancak her iki tomcat5.5 ve tomcat6'daki 03catalina.policy dosyasının aslında günlük dosyalarına yazma izni vermediği anlaşılıyor.

En basit çözüm, JULI izinlerini şu şekilde değiştirmektir:

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

Açıkçası, farkında olmadığım güvenlik sorunları olabilir , ancak daha derine inmek için canımı sıkmayacağım - Bu konuyu çok uzun zamandır harcadım.


Güncelleme için teşekkürler, bunu kendim yapmayı asla başaramadım ve şimdi VPS öldü. Sunucuyu başlatırken hiçbir zaman bir tanıtıcı görmedim, bu yüzden günlüklerin yazılmaması mantıklı geliyor.
gav

33

İyi bir püf noktası " lsof -p PID" komutunu çalıştırmaktır, burada PID tomcat sunucunuzun işlem kimliğidir. Bu komut size günlük dosyası da dahil olmak üzere işlem tarafından açılan tüm dosyaların bir listesini verecektir. Vikipedi sayfasına bakınız .


Bu harika bir ipucu! Maalesef işlemlerimden hiçbiri bir günlük dosyasına sahip değil ... bunun ne anlama geldiğinden emin değil.
Mart'ta

2
İşlemin günlük dosyasını açamayacağı anlamına gelebilir. Konsolda / STDOUT'da kayıtlı bazı hatalarınız olmalı. Eğer Linux kullanıyorsanız deneyebilirsinizfor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici

Tomcat'ı kurmak için apt-get kullanmak, jsvc kullanarak daemon olarak çalışmak üzere yapılandırılmış demektir. Sadece komutunuzda bir değişiklik yapmanız gerekiyor (java -> jsvc). Snippet, sorumun altındaki çıktıyı döndürdü (Yorum biçimlendirme okunamıyor).
gav

18

Varsayılan olarak kontrol

/var/log/tomcat6/catalina.out 

ya da böyle bir şey

ve günlüğe kaydetme özelliklerini kontrol edin.

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

genellikle / usr / share / tomcat6 / conf / sembolik bir bağ / etc / tomcat6 /


/var/log/tomcat6/catalina.out mevcut değil ve / usr / share / tomcat6 / conf klasöründe de yok. /etc/tomcat6/logging.properties, $ {catalina.base} / logs 'un aradığım dizin olduğunu gösteriyor ancak söylediğim gibi orada hiçbir şey yazılmıyor. Ho hum :(
gav

4

Olmalılar CATALINA_HOME/logs

Bunu en sık gördüm /opt/tomcat/logs, ama senin durumunda olabilir/usr/share/logs


1

Varsayılan olarak Tomcat günlükleri içeridedir /var/log/tomcat?ve /var/lib/tomcat7/logsgenellikle orayı işaret eder.

Gibi root, onları kontrol edebilirsiniz:

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

Hala sorun yaşarsanız, aşağıdaki yollarla bulmayı deneyin:

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

-1

Windows için aşağıdakine benzer günlükleri bulabiliriz. C: \ Program Files \ Apache Yazılım Vakfı \ Tomcat 9.0 \ loglar

ayrıca C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ log-properties'e bakın.


2
Bildirildiği gibi soru bir Linux (özellikle Ubuntu) kurulumuna atıfta bulunuyor. Verdiğiniz cevap Windows tabanlı bir kurulum içindir. Ayrıca, bu sorunun zaten kabul edilmiş bir cevabı var.
Corey S.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.