首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jetty-logging.properties不适用于servlet

jetty-logging.properties不适用于servlet
EN

Stack Overflow用户
提问于 2021-11-11 18:42:48
回答 1查看 36关注 0票数 0

我继承了一个没有定义日志配置的jetty项目,但调试日志似乎以某种方式启用了。当我尝试添加具有此配置的src/main/resources/jetty-logging.properties文件时,似乎没有任何变化。

代码语言:javascript
运行
复制
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog
org.eclipse.jetty.LEVEL=INFO
ca.uhn.fhir.context.LEVEL=INFO //3rd party library causing DEBUG logs

当我使用jetty mvn -Djetty.http.port=8080 jetty:run的maven插件在本地启动该服务时

我可以看到指示org.eclipse.jetty.util.log.Slf4jLog的默认jetty日志记录包的日志

代码语言:javascript
运行
复制
[INFO] Logging initialized @11194ms to org.eclipse.jetty.util.log.Slf4jLog
[INFO] Context path = /
[INFO] Tmp directory = ${LocalPath}\eclipse-workspace\cql-execution-service\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:///${LocalPath}/cql-execution-service/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = ${LocalPath}\src\main\webapp
[INFO] jetty-9.4.7.v20170914
[INFO] Scanning elapsed time=15583ms
[INFO] DefaultSessionIdManager workerName=node0
[INFO] No SessionScavenger set, using defaults
[INFO] Scavenging every 660000ms
[INFO] Started o.e.j.m.p.JettyWebAppContext@2b148329{/,file:///${LocalPath}/cql-execution-service/src/main/webapp/,AVAILABLE}{file:///${LocalPath}/cql-execution-service/src/main/webapp/}
[INFO] Started ServerConnector@69f69078{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
[INFO] Started @32649ms
[INFO] Started Jetty Server

这是我的web.xml文件:

代码语言:javascript
运行
复制
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>CqlExecSvc</display-name>

  <filter>
   <filter-name>cross-origin</filter-name>
   <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
  </filter> 
  <filter-mapping>
   <filter-name>cross-origin</filter-name>
   <url-pattern>/*</url-pattern>
  </filter-mapping>

  <servlet>
   <servlet-name>CqlEngine</servlet-name>
   <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
     <param-name>jersey.config.server.provider.packages</param-name>
     <param-value>org.opencds.cqf.cql.execution</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
   <servlet-name>CqlEngine</servlet-name>
   <url-pattern>/*</url-pattern>
  </servlet-mapping>

</web-app>

然而,在我的日志中,我可以看到许多来自第三方包的调试语句,并且我找不到任何其他的日志配置。关于下一步要检查什么,有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-11-11 19:51:18

在Jetty 9.x中,配置...

代码语言:javascript
运行
复制
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog

我将对基于org.eclipse.jetty.util.log.Logger的日志记录事件使用内置的记录器,并将它们发送到System.err (也称为STDERR /标准错误)

这只查找来自特定于Jetty的记录器外观的日志记录事件,而不查找其他事件。

如果你想要更复杂的东西,你必须正确地设置像slf4j和logback这样的东西来捕获来自任何地方的日志事件(例如:java.util.logginglog4jslf4jcommons-logging等),并将它们路由到你特定的logback附加器。

在Jetty 10+中,特定于Jetty的日志外观已被删除,取而代之的是slf4j。所有日志记录都是通过该接口完成的,这为您提供了跨各种日志记录实现的大量配置级别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69933358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档