Di mana Log Tomcat saya?

26

Saya menginstal Tomcat6 pada server Ubuntu 9.04 menggunakan apt-get install tomcat6. Saya mengunggah PERANG menggunakan antarmuka manajer dan mencoba memulai aplikasi tetapi mendapatkan kesalahan yang cukup umum pada antarmuka Web mengatakan itu tidak dapat dimulai.

Saya mencoba menemukan log untuk menentukan mengapa perang saya tidak akan dimulai (saya menduga memori rendah karena saya menggunakan VPS kecil) tetapi saya tidak tahu di mana mereka.

/ var / lib / tomcat6 / log kosong. Halaman splash Tomcat saya secara andal memberi tahu saya tentang hal-hal berikut;

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.

MEMPERBARUI

Saya mencoba berlari;

$ 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

Tapi tidak ada di / var / log / syslog

Juga berlari

$ losof -p PID

tidak menampilkan file log apa pun ...

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

Terima kasih,

Gav

gav
sumber

Jawaban:

5

Sangat terlambat untuk diskusi ini, tetapi tampaknya file 03catalina.policy di tomcat5.5 & tomcat6 sebenarnya tidak mengizinkan penulisan ke logfile.

Solusi paling sederhana adalah mengubah izin JULI menjadi:

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

Jelas, mungkin ada masalah keamanan yang tidak saya sadari, tetapi saya benar-benar tidak dapat diganggu untuk menggali lebih dalam - saya telah menghabiskan terlalu lama untuk hal ini sendiri.

Auspex
sumber
Terima kasih atas perbaruannya, saya tidak pernah mendapatkan ini bekerja sendiri dan sekarang VPS sudah mati Masuk akal bagi saya bahwa log tidak ditulis karena saya tidak pernah melihat pegangan terbuka ketika menjalankan server.
gav
34

Trik yang rapi adalah menjalankan perintah " lsof -p PID" di mana PID adalah id proses server tomcat Anda. Perintah ini akan memberi Anda daftar semua file yang dibuka oleh proses, termasuk file log. Lihat halaman Wikipedia .

dogbane
sumber
Itu tip yang luar biasa! Sayangnya tidak ada proses saya yang memiliki file log ... tidak yakin apa artinya.
gav
2
Ini bisa berarti bahwa proses tidak dapat membuka file log. Anda seharusnya memiliki beberapa kesalahan yang tercatat di konsol / STDOUT. Jika Anda menggunakan Linux, Anda dapat mencobafor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici
Menggunakan apt-get untuk menginstal Tomcat berarti dikonfigurasi untuk dijalankan sebagai daemon menggunakan jsvc. Hanya diperlukan perubahan pada perintah Anda ke (java -> jsvc). Cuplikan mengembalikan output di bagian bawah pertanyaan saya (Format komentar tidak dapat dibaca).
gav
19

Secara default cek

/var/log/tomcat6/catalina.out 

atau semacam itu

dan periksa properti logging di

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

biasanya / usr / share / tomcat6 / conf / adalah tautan simbolis ke / etc / tomcat6 /

Lanselot
sumber
/var/log/tomcat6/catalina.out tidak ada dan folder / usr / share / tomcat6 / conf juga tidak ada. /etc/tomcat6/logging.properties menunjukkan bahwa $ {catalina.base} / logs adalah direktori yang saya cari tetapi seperti yang saya katakan, tidak ada yang tertulis di sana. Ho hum :(
gav
4

Mereka seharusnya di CATALINA_HOME/logs

Saya sudah sering melihatnya /opt/tomcat/logs, tetapi dalam kasus Anda mungkin/usr/share/logs

Bozho
sumber
1

Secara default log Tomcat ada di /var/log/tomcat?dan /var/lib/tomcat7/logsbiasanya menunjuk ke sana.

Karena root, Anda dapat memeriksanya dengan:

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

Jika Anda masih memiliki masalah, coba temukan melalui:

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

kita dapat menemukan log seperti di bawah ini untuk Windows. C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ logs

lihat juga C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 \ conf \ logging-properties.

Sudheer N
sumber
2
Pertanyaan yang diposting mengacu pada instalasi Linux (khusus Ubuntu). Jawaban yang Anda berikan adalah untuk instalasi berbasis Windows. Selain itu, pertanyaan ini sudah memiliki jawaban yang diterima.
Corey S.