2012-10-04 15 views
13

Setup: Eclipse Juno R, Tomcat 7.0.8, tomcat chạy qua eclipse cắm trong Tomcat cấu hình ra mắt từ nhật thực có VM đối số -Djava.util.logging.config.file = "C: \ WS \ Serverlogs \ tomcat7 \ conf \ logging.properties" (Tham khảo: Where can I view Tomcat log files in Eclipse?) Nhận lỗi sau.Lỗi trong Eclipse Tomcat Setup - ClassNotFoundException "1catalina.org.apache.juli.FileHandler"

Can't load log handler "1catalina.org.apache.juli.FileHandler" 
java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler 
java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.util.logging.LogManager$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.util.logging.LogManager.loadLoggerHandlers(Unknown Source) 
    at java.util.logging.LogManager.addLogger(Unknown Source) 
    at java.util.logging.LogManager$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.util.logging.LogManager.<clinit>(Unknown Source) 
    at java.util.logging.Logger.getLogger(Unknown Source) 
    at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71) 
    at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196) 
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170) 
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242) 
    at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293) 
    at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:57) 
Can't load log handler "1catalina.org.apache.juli.FileHandler" 

Có các lỗi tương tự cho "1catalina.org.apache.juli.FileHandler", "2localhost.org.apache.juli.FileHandler" và những người khác. Tôi hiểu rằng các lớp này đến từ tomcat-juli.jar tại/bin. Tôi thêm jar này vào classpath máy chủ (Eclipse -> Servers -> Open -> Open Lauch configuration -> Classpath -> User Entries), nhưng có cùng lỗi. Nội dung của logging.properties là:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler 

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

1catalina.org.apache.juli.FileHandler.level = FINE 
1catalina.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs 
1catalina.org.apache.juli.FileHandler.prefix = catalina. 

2localhost.org.apache.juli.FileHandler.level = FINE 
2localhost.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs 
2localhost.org.apache.juli.FileHandler.prefix = localhost. 

3manager.org.apache.juli.FileHandler.level = FINE 
3manager.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs 
3manager.org.apache.juli.FileHandler.prefix = manager. 

4host-manager.org.apache.juli.FileHandler.level = FINE 
4host-manager.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs 
4host-manager.org.apache.juli.FileHandler.prefix = host-manager. 

java.util.logging.ConsoleHandler.level = FINE 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 

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

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler 

Mọi đầu vào/hướng dẫn được đánh giá cao nhất. Tìm thấy các số How to configure Tomcat JULI logging to roll log files? Local Tomcat Environment Not Starting , nhưng vấn đề của tôi có vẻ khác.

Edit1 Thêm "-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager" để VM Đối số của máy chủ và thay đổi "\" thành "/" trong logging.properties đã làm các trick. Nhờ Robin cho con trỏ đến Tomcat Logging FAQ

Cảm ơn bạn, VJ

+0

Trên cửa sổ với tomcat được cài đặt làm dịch vụ và sử dụng tomcat7w.exe để sửa đổi cài đặt trên tab Java> phần Tùy chọn Java; một không gian duy nhất sau '-Djava.util.logging.manager = org.apache.juli.ClassLoaderLogManager' trước khi dòng mới cho tôi cùng một vấn đề. – vinnyjames

Trả lời

0

Bạn có thể kiểm tra FAQ cho câu hỏi cụ thể này: http://wiki.apache.org/tomcat/FAQ/Logging

Hoặc bạn có thể sử dụng logging.properties khác, ví ví dụ này một:

log4j.rootLogger=DEBUG, A1 
log4j.appender.A1=org.apache.log4j.ConsoleAppender 
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 

# Print the date in ISO 8601 format 
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n 

# Print only messages of level WARN or above in the package com.foo. 
log4j.logger.com.foo=WARN 
+0

Sử dụng ConsoleAppender không phải là một lựa chọn cho tôi. Tôi muốn các bản ghi được ghi vào một tập tin mà tôi có thể tham khảo sau này. Nhìn vào các câu hỏi thường gặp về đăng nhập 'cho tomcat – vjkumar

+0

Bạn không cần phải sử dụng ConsoleAppender để chắc chắn. Đây chỉ là một mẫu. Đây là hướng dẫn của Apache log4j http://logging.apache.org/log4j/1.2/manual.html. Bạn sẽ thấy có một FileAppender cho Ví dụ. Thao tác này sẽ thêm bạn Đăng nhập vào tệp .log. Kiểm tra liên kết này: http://veerasundar.com/blog/2009/07/log4j-tutorial-how-to-send-the-log-messages-to-a-file/ – Robin

16

Đảm bảo tài sản hệ thống sau đây được thiết lập,

0.123.
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 

Như đã thấy here trên danh sách gửi thư của người dùng tomcat.

Tôi đã gặp vấn đề tương tự khi khởi chạy tomcat với YAJSW thay vì sử dụng tập lệnh khởi động tomcat.