2015-09-26 13 views
6

logging.properties trong Eclipse của tôi trông như thế này khi tôi bước đầu đăng câu hỏi này:Tomcat7 đăng nhập địa ngục - tại sao hai định dạng khác nhau sắp ra?

handlers = java.util.logging.ConsoleHandler 

org.apache.catalina.core=OFF 

java.util.logging.ConsoleHandler.level = FINE 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 
java.util.logging.SimpleFormatter.format=JUL %4$s: %2$s%n%4$s: %5$s%n 

Tôi cũng gặp phải vấn đề tương tự trên máy chủ Linux với cấu hình này:

handlers = 2localhost.org.apache.juli.FileHandler, org.apache.juli.FileHandler 

.handlers = org.apache.juli.FileHandler 

2localhost.org.apache.juli.FileHandler.level = INFO 
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
2localhost.org.apache.juli.FileHandler.prefix = localhost. 

org.apache.juli.FileHandler.level = ALL 
org.apache.juli.FileHandler.formatter = java.util.logging.SimpleFormatter 
org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
java.util.logging.SimpleFormatter.format=tomcat: %4$s: %2$s%n%4$s: %5$s%n 

org.apache.catalina.handlers = org.apache.juli.FileHandler 
org.apache.catalina.startup.level = SEVERE 
org.apache.catalina.session.ManagerBase.level = SEVERE 
org.apache.catalina.core.AprLifecycleListener.level=SEVERE 
org.apache.catalina.connector.level = SEVERE 
org.apache.coyote.level=SEVERE 

org.apache.catalina.level=ALL 
org.apache.catalina.startup.HostConfig.level = SEVERE 
org.apache.catalina.loader.WebappClassLoader.level = SEVERE 
org.apache.catalina.session.ManagerBase.level = INFO 

# ServletContext logger 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = ALL 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].formatter = java.util.logging.SimpleFormatter 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].format=servlet: %4$s: %2$s%n%4$s: %5$s%n 

Tại sao sau đó thực hiện giao diện điều khiển của tôi đăng nhập vào Eclipse trông như thế này?

JUL INFO: org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_05\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Bitvise SSH Client;C:\Program Files (x86)\MySQL\MySQL Utilities 1.4.3\;C:\Program Files (x86)\MySQL\MySQL Utilities 1.4.3\Doctrine extensions for PHP\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\TortoiseGit\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files (x86)\BaseX\bin;C:\Program Files (x86)\WinMerge;C:\Program Files (x86)\Skype\Phone\;. 
JUL WARNING: org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ctc_web_front_ui' did not find a matching property. 
JUL INFO: org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
JUL INFO: org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
JUL INFO: org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 359 ms 
JUL INFO: org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
JUL INFO: org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47 
JUL INFO: org.apache.catalina.core.ApplicationContext log 
INFO: No Spring WebApplicationInitializer types detected on classpath 
JUL INFO: org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring FrameworkServlet 'servletSpringDispatcher' 
JUL INFO: org.springframework.web.servlet.FrameworkServlet initServletBean 
INFO: FrameworkServlet 'servletSpringDispatcher': initialization started 

Thông báo INFO trống đến từ đâu?

Và tại sao thư catalina.core vẫn hiển thị ngay cả khi tôi đặt chúng thành TẮT?

Trên máy chủ Linux nhật ký Juli trông như thế này:

tomcat: FINE: org.apache.catalina.core.ContainerBase addChildInternal 
FINE: Add child StandardHost[localhost] StandardEngine[Catalina] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardServer[8005]] to [INITIALIZING] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [[email protected]] to [INITIALIZING] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [[email protected]] to [INITIALIZED] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardService[Catalina]] to [INITIALIZING] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardEngine[Catalina]] to [INITIALIZING] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardEngine[Catalina]] to [INITIALIZED] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [Connector[HTTP/1.1-8080]] to [INITIALIZING] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [[email protected]] to [INITIALIZING] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [[email protected]] to [INITIALIZED] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [Connector[HTTP/1.1-8080]] to [INITIALIZED] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardService[Catalina]] to [INITIALIZED] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardServer[8005]] to [INITIALIZED] 
tomcat: FINE: org.apache.catalina.util.LifecycleBase setStateInternal 
FINE: Setting state for [StandardServer[8005]] to [STARTING_PREP] 
tomcat: FINE: org.apache.catalina.core.NamingContextListener lifecycleEvent 
FINE: Bound StandardServer[8005] 
tomcat: FINE: org.apache.catalina.core.NamingContextListener createNamingContext 
FINE: Creating JNDI naming context 
tomcat: FINE: org.apache.catalina.core.NamingContextListener addResource 

Cùng câu hỏi áp dụng, tại sao không phải tất cả các dòng bắt đầu với tomcat:?

CẬP NHẬT Trong khi gỡ lỗi tôi phát hiện ra rằng cả hai dòng của mỗi mục log đến từ java.util.logging.Logger.logp() enter image description here

Trả lời

1

Câu trả lời đã được nhìn chằm chằm chúng tôi vào mặt, từ phía trên cùng của việc niêm yết:

java.util.logging.SimpleFormatter.format=JUL %4$s: %2$s%n%4$s: %5$s%n 
                 ^^^^^^^ 

Các phụ %n%4$s: trong chuỗi định dạng là nguyên nhân khiến dòng bổ sung hiển thị u p. Duh.

-1

Tôi nghĩ rằng bạn đang bỏ lỡ Tháng Bảy-to- slf4j. Xem chi tiết tại đây slf4j legacy bridge documentation

+0

Điều đó không giải quyết được vấn đề cụ thể này. Sau khi cài đặt jul-to-slf4j và cấu hình cây cầu, tôi đã có thể chuyển hướng tất cả các tin nhắn để logback, nhưng tôi vẫn nhận được hai loại thông điệp riêng biệt. –

-1

RƯỢU, TẤT CẢ, INFO, CẢNH BÁO, L ERI, BẢNG, vv là tất cả nhật ký mức s cho mỗi bộ ghi. Chuyển tất cả chúng sang SEVERE để có đầu ra bản ghi ít nhất. TẤT CẢ, về cơ bản là khai thác gỗ tương đương với một lá cờ tiết. FINE là tỷ lệ đầu ra log cao thứ hai.

+0

Vẫn không trả lời tại sao tôi lại nhận được các dòng nhật ký phụ bí ẩn không khớp với chuỗi định dạng –

+0

bạn đã thử chưa? – Stephan

0

Thông báo thông tin bạn đang đề cập đến không thực sự là một phần của lõi. Chúng được tạo ra bởi các lớp trong các gói khác nhau. Bằng cách mổ xẻ libs catalina và xác định các lớp chịu trách nhiệm về các bản ghi Đặc biệt, đây là cấu hình đó đã khiến bản ghi trên tomcat 7.0.63, bằng cách phụ thêm để mặc định logging.properties:

org.apache.catalina.startup.level=OFF 
org.apache.catalina.startup.handlers=1catalina.org.apache.juli.FileHandler.level 

org.apache.catalina.core.level=OFF 
org.apache.catalina.core.handlers=1catalina.org.apache.juli.FileHandler.level 

org.apache.coyote.level=OFF 
org.apache.coyote.handlers=1catalina.org.apache.juli.FileHandler.level 
+1

Nó luôn luôn ghen tị khi ai đó tìm thấy một cái gì đó mà ai đó không thể tìm ra! –

1

logging.properties My trong Eclipse

  1. Tôi không biết cách cấu hình không gian làm việc của bạn. Có lẽ tập tin đó không được sử dụng.

    Ghi nhật ký Java được định cấu hình bởi thuộc tính hệ thống.

    Bạn cần một thuộc tính (-Djava.util.logging.manager) để định cấu hình org.apache.juli.ClassLoaderLogManager làm triển khai trình quản lý nhật ký cho Ghi nhật ký Java.

    Bạn cần tài sản khác (-Djava.util.logging.config.file) để định cấu hình đường dẫn đến tệp cấu hình.

    Thông thường cả hai thuộc tính được đặt bởi tập lệnh khởi chạy (catalina.sh, catalina.bat), nhưng Eclipse khởi chạy java trực tiếp mà không cần trợ giúp từ tập lệnh đó, vì vậy các thuộc tính hệ thống đó phải được đặt rõ ràng trong cấu hình khởi chạy.

    http://tomcat.markmail.org/thread/vpr7mjxmgdvkl3dv

  2. Tomcat Juli hỗ trợ cấu hình cho mỗi classloader của khai thác gỗ.

    Tính năng này cho phép một cấu hình ghi nhật ký riêng lẻ cho mỗi ứng dụng web bằng cách đóng gói tệp WEB-INF/classes/logging.properties với nó.

    Nếu bạn đã đặt bất ngờ tệp logging.properties vào classpath, nó sẽ có tác dụng tương tự: nó sẽ thay thế cấu hình mặc định cho các lớp được tải bởi trình nạp lớp đó.

    Ví dụ: nó được biết rằng một số phiên bản của thư viện Jollyday (4 năm trước) bao gồm một tập tin bất ngờ logging.properties cho phép đăng nhập FINE.

    .level = ALL

    https://bz.apache.org/bugzilla/show_bug.cgi?id=52011

+0

Điều này đã không thực sự trả lời câu hỏi của tôi nhưng cảm ơn cho ánh sáng vào quá trình khởi tạo của tomcat, điều đó giải thích rất nhiều. –

Các vấn đề liên quan