当前位置: 首页 > 知识库问答 >
问题:

如何为运行Tomcat的WebApp配置带有日志的slf4j

佴涵蓄
2023-03-14

我有一个使用NetBeans 7.4开发的WebApp。我将它部署在运行Tomcat7.0.47的Linux服务器上。

我的项目使用以下JAR:

  • SLF4J-API-1.7.6.jar
  • logback-classic-1.1.1.jar
  • logback-core-1.1.1.jar

我的应用程序是一个SOAP服务器。在服务类的首位,我把:

私有静态最终记录器soapLogger=LoggerFactory.getLogger(nameOfLogger);

然后当我需要记录一些东西时:

soaplogger.info(“init”);

我的问题是:我如何配置它,以便在这个应用程序的$CATALINE_HOME/conf文件夹中有滚动日志

我以为我只需要像这样在我的webapp的src文件夹中创建一个简单的logback.xml文件,但是没有用。我没有生成日志。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>mySOAP - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
    </layout>
  </appender>
   
  <logger name="com.xxx" level="TRACE"/>
 
  <root level="debug">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

共有1个答案

公孙盛
2023-03-14

主要问题是该文件的位置有误。我现在就放进去了

/webapps/your-app/WEB-INF/classes/

并且至少使用该logback.xml的内容

 类似资料:
  • 我可以看到它在启动tomcat时被拾取,并且appender配置被正确解析。 我的问题是,我如何让webapp使用其中定义的附加符? 我尝试将和元素放入文件中,但这将生成错误: 中的:

  • 我是不是漏掉了什么?

  • 我陷入了一个循环,无法完全理解为什么当我的war部署到tomcat时没有输出日志-但是,如果我通过intellij在本地运行单元测试,日志文件将按预期填充。 web.xml包含: 最后,相关的依赖关系: 我在spring依赖项中包含了以下内容:

  • 在我的工作中,我们开始使用flyway,数据库管理员问我flyway是否有日志。在阅读了一些关于互联网和flyway文档的文章后,我没有找到一种方法来进行这种配置。 在StackOverflow上,一些用户说只需要将log4j放在类路径上就可以了。我尝试放置log4j文件但对我不起作用,但是当我尝试将SLF4J的文件放在flyway(类路径)的lib目录时: slf4j-api-1.7.21.ja

  • 我的WAR正在使用一个log4j FileAppender,该文件是通过WAR中的目录下的文件配置的。 我已将log4j追加器配置为: 通过此配置,我将尝试实现以下功能: 将记录调试级别和更高级别的所有日志消息(因此所有) 我希望文件位于Tomcat的目录下 这种配置是否实现了这些项,如果没有,需要更改什么?

  • 如何将设置为到本地运行的webapp的反向代理,而不破坏? 存在一个tomcat 7 webapp,它与文件一起部署,位于中。 在本地运行,可以通过访问。多个webapp正在运行,可以在以下站点访问: null 端口在外部被防火墙阻塞。 作为网守在服务器上运行。一个站点可以访问上面提到的所有本地tomcat WebApp。这适用于: 在下,设置了一个附加的站点文件,以便将路由到。 此设置将额外的添