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

SL4J与spring webapp的设置使用tomcat不日志记录?

楚知
2023-03-14

我陷入了一个循环,无法完全理解为什么当我的war部署到tomcat时没有输出日志-但是,如果我通过intellij在本地运行单元测试,日志文件将按预期填充。

web.xml包含:

<context-param>
    <param-name>logbackConfigLocation</param-name>
    <param-value>/WEB-INF/logback.xml</param-value>
</context-param>
<?xml version="1.0" encoding="UTF-8"?>
<appender name="FILE-AUDIT"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>storagedebug.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <Pattern>
            %d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
        </Pattern>
    </encoder>

    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- rollover daily -->
        <fileNamePattern>storagedebug.%d{yyyy-MM-dd}.%i.log
        </fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>

</appender>

<logger name="com.app.storage" level="debug"
        additivity="false">
    <appender-ref ref="FILE-AUDIT" />
</logger>

<root level="error">
    <appender-ref ref="FILE-AUDIT" />
</root>

</configuration>

最后,相关的依赖关系:

compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.7'
compile group: 'org.slf4j', name: 'jcl-over-slf4j', version: '1.7.25'
compile group: 'ch.qos.logback', name: 'logback-core', version:'1.1.2'
compile group: 'ch.qos.logback', name: 'logback-classic', 
version:'1.1.2'

我在spring依赖项中包含了以下内容:

configurations.all {
    exclude group: "commons-logging", module: "commons-logging"
}

共有1个答案

魏宸
2023-03-14

对于 storagedebug.log ,可以尝试为日志文件设置绝对路径吗?因为目前,这是相对于tomcat bin目录而言的。同样,不要忘记在 StorageDebug更新绝对路径。%d{yyyy-MM-dd}。%i.log

 类似资料:
  • 所以我试图从我们的tomcat日志中过滤出一条警告级别的消息。警告是: 我尝试更新tomcat中的logging.properties以添加: com.sun.xml.ws.policy.elector.level=OFF 尽管如此,警告仍在继续。到目前为止,我唯一能做的事情就是关闭java。util。登录中。安慰者。水平=关闭,这显然不理想。 我们正在进行一次普通的伐木。Tomcat 8.5中的

  • 问题内容: 我已经将一个Web应用程序部署到服务器上。我的应用程序使用和。但是,并非所有日志记录消息都已写入文件。 在我的课堂上,我有: 我的文件在本地计算机上运行良好,并且已正确部署。 我看到正在写入的应用程序生成的错误消息没有写入我的。由于输出模式的格式与我的模式不同,因此看起来的日志消息来自其他日志框架。我在中看到的日志记录如下: 我的log4j模式是这样的: 一些日志记录出现在我的文件日志

  • 它应该根据SLF4JBridgeHandler记录所有内容。 是我遗漏了什么,还是一个日志(由启动程序使用)的问题,而不是我的误解?

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

  • 我使用日志记录包: 它写了一些日志,然后在下一个日志中我看到为真。我如何检查它为什么更改为True?

  • 如何在JMeter 4.0中禁用日志记录。在执行任何JMeter脚本时,都需要根据定义的日志级别生成日志。 log4j2 中的配置应该是什么.xml,以便它不会生成任何日志?