Nhật ký Tomcat của tôi ở đâu?


26

Tôi đã cài đặt Tomcat6 trên máy chủ Ubuntu 9.04 bằng cách sử dụng apt-get install tomcat6. Tôi đã tải lên một WAR bằng giao diện người quản lý và cố gắng khởi động ứng dụng nhưng gặp một lỗi khá chung trên giao diện Web nói rằng nó không thể khởi động được.

Tôi đang cố gắng tìm các bản ghi để xác định lý do tại sao cuộc chiến của tôi sẽ không bắt đầu (tôi nghi ngờ bộ nhớ thấp khi tôi ở trên một VPS nhỏ) nhưng tôi không biết chúng ở đâu.

/ var / lib / tomcat6 / log trống. Trang giật gân Tomcat của tôi đáng tin cậy cho tôi biết những điều sau đây;

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.

CẬP NHẬT

Tôi đã thử chạy;

$ 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

Nhưng không có gì trong / var / log / syslog

Cũng đang chạy

$ losof -p PID

không hiển thị bất kỳ tệp nhật ký nào ...

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

Cảm ơn,

Câu trả lời:


5

Rất muộn cho cuộc thảo luận này, nhưng có vẻ như tệp 03catalina.policy trong cả tomcat5.5 & tomcat6 không thực sự cho phép ghi vào logfiles.

Giải pháp đơn giản nhất là thay đổi các quyền của JULI thành:

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

Rõ ràng, có thể có những vấn đề bảo mật mà tôi không biết, nhưng tôi thực sự không thể bận tâm để đào sâu hơn - bản thân tôi đã dành quá nhiều thời gian cho việc này.


Cảm ơn đã cập nhật, tôi chưa bao giờ tự mình làm việc này và bây giờ VPS đã chết. Nó có ý nghĩa với tôi rằng các bản ghi không được viết vì tôi chưa bao giờ thấy một tay cầm mở khi khởi động máy chủ.
gav

33

Một mẹo nhỏ là chạy lệnh " lsof -p PID" trong đó PID là id tiến trình của máy chủ tomcat của bạn. Lệnh này sẽ cung cấp cho bạn một danh sách tất cả các tệp được mở theo quy trình, bao gồm cả tệp nhật ký. Xem trang Wikipedia .


Đó là một mẹo tuyệt vời! Thật không may, không có quy trình nào của tôi có tệp nhật ký ... không chắc điều đó có nghĩa là gì.
gav

2
Nó có thể có nghĩa là quá trình không thể mở tệp nhật ký. Bạn sẽ có một số lỗi được đăng nhập trên console / STDOUT. Nếu bạn đang sử dụng Linux, bạn có thể dùng thửfor PID in $(pgrep java);do sudo ls -l /proc/$PID/fd|grep ' 1 -> ';done
Mircea Vutcovici

Sử dụng apt-get để cài đặt Tomcat có nghĩa là nó được cấu hình để chạy như một trình nền bằng jsvc. Chỉ cần một thay đổi trong lệnh của bạn thành (java -> jsvc). Đoạn mã trả về đầu ra ở cuối câu hỏi của tôi (Định dạng nhận xét là không thể đọc được).
gav

18

Theo mặc định kiểm tra

/var/log/tomcat6/catalina.out 

hoặc điều tương tự

và kiểm tra các thuộc tính đăng nhập trong

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

thường / usr / share / tomcat6 / conf / là liên kết tượng trưng đến / etc / tomcat6 /


/var/log/tomcat6/catalina.out không tồn tại và thư mục / usr / share / tomcat6 / conf cũng không tồn tại. /etc/tomcat6/logging.properies gợi ý rằng $ {catalina.base} / log là thư mục tôi đang tìm nhưng như tôi đã nói, không có gì được viết ở đó. Hồ hum :(
gav

4

Họ nên ở CATALINA_HOME/logs

Tôi đã nhìn thấy nó thường xuyên nhất tại /opt/tomcat/logs, nhưng trong trường hợp của bạn, nó có thể là/usr/share/logs


1

Theo mặc định, nhật ký Tomcat nằm trong /var/log/tomcat?/var/lib/tomcat7/logsthường trỏ đến đó.

Như root, bạn có thể kiểm tra chúng bằng cách:

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

Nếu bạn vẫn có bất kỳ vấn đề nào, hãy thử tìm chúng thông qua:

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

-1

chúng ta có thể tìm thấy các bản ghi như dưới đây cho Windows. C: \ Tệp chương trình \ Nền tảng phần mềm Apache \ Tomcat 9.0 \ log

cũng tham khảo C: \ Chương trình tập tin \ Apache Software Foundation \ Tomcat 9.0 \ conf \ log-property.


2
Câu hỏi như đã đăng là đề cập đến cài đặt Linux (cụ thể là Ubuntu). Câu trả lời bạn đưa ra là cho một cài đặt dựa trên Windows. Ngoài ra, câu hỏi này đã có một câu trả lời được chấp nhận.
Corey S.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.