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

tomcat中的日志配置

金子平
2023-03-14

我可以看到它在启动tomcat时被拾取,并且appender配置被正确解析。

我的问题是,我如何让webapp使用其中定义的附加符?

我尝试将 元素放入logback-access文件中,但这将生成错误:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <append>true</append>
        <file>${catalina.base}/logs/my=app.log</file>
        <encoder>
            <pattern>combined</pattern>
        </encoder>
    </appender>

    <appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>localhost:5044</destination>

        <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
<!-- cut specific config -->
            </providers>
        </encoder>
    </appender>
</configuration>

web-inf/classes中的logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <logger name="my.package" level="DEBUG"/>
    <logger name="com.amazonaws" level="INFO"/>
<!-- and several more loggers like this -->

    <root level="DEBUG">
        <appender-ref ref="FILE"/>
    </root>
    <root level="TRACE">
        <appender-ref ref="STASH"/>
    </root>
</configuration>

共有1个答案

颜森
2023-03-14

如果有人有类似的问题我就把这个留在这里。

首先,您根本不需要Tomcat的server.xml中的logback-access.xml或Valve。使用应用程序中的过滤器记录传入请求。

然后,如果需要在服务器上而不是在应用程序中配置附加器,则设计一个logback.xml并将其放入Tomcat的lib文件夹(通常是/usr/share/java/tomcat)。在应用程序中不需要logback.xmllogback-commonjar可以在您的war中,也可以在tomcat lib文件夹中,无论您喜欢什么。

 类似资料:
  • 我试图一个接一个地读取每个日志条目。这是日志文件的一部分: 这是原木图案 转换模式=%d{dd.MM.yyyy HH:MM:ss,SSS}|%p%t%m|%c%n 我需要从每个条目中获取所有细节,如日期、优先级值、线程、消息和类。这就是我到目前为止所拥有的。 它匹配ok所有条目,但没有stacktrace。我需要如何改进我的正则表达式以获得堆栈跟踪? 所以我需要这样做:

  • 有一个只有一个依赖项的spring boot应用程序spring boot starter web,并希望看到我添加到日志中的tomcat日志。属性 然后用Djava开始我的罐子。util。登录中。配置。file=PATH\u TO\u LOGGING\u属性和所有tomcat日志都是重复的 组织。阿帕奇。郊狼。AbstractProtocol init初始化ProtocolHandler[“ht

  • 我对运行在Tomcat7上的Java web应用程序使用spring-mvc和security。我通过扩展AbstractAuthenticationProcessingFilter自定义了spring安全性,为了捕获自定义异常,我有一个扩展ExceptionHandlerExceptionResolver的类。 现在,当我得到一个异常时,无论是否运行时,我都无法在我的tomcat日志中看到异常的

  • 当我们想让logback.xml文件可配置时,将其放在Tomcat中的哪个位置? 以及如何使运行在其中的Java应用程序可以访问它?

  • 我在我的项目中进行了强制日志记录,并且我很难抑制我不想要的日志记录语句。 还有,我在使用log4j时看不到这些记录器。我正在尝试学习Logback,因为我已经被指派来评估它作为团队可能的升级。

  • 我有一个使用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=LoggerFac