java - Logback 不会将日志写入文件

标签 java rest tomcat logback

我有一个 Java 独立 REST 应用程序,它位于 Tomсat 中。我需要将日志输出到文件,我使用 logback。但是日志不会写入文件。它们显示在控制台中,尽管我删除了控制台附加程序。如果您在 Windows 机器上尝试,一切都会正常。尝试在 RedHat(没有 GUI)上,日志没有输出到文件(尽管它们应该)并且输出到控制台(尽管它们不应该显示)。该应用程序工作正常,响应查询。

Logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="DEV_HOME" value="/var/tmp" />
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${DEV_HOME}/mytest.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${DEV_HOME}/mytest-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <maxFileSize>2KB</maxFileSize>
            <maxHistory>4</maxHistory>
            <totalSizeCap>10KB</totalSizeCap>
        </rollingPolicy>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder">
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="file" />
    </root>
</configuration>

在 Eclipse 中,我将导出到 Runnable jar 文件,然后将其放在 Linux 机器上。我运行如下:

java -jar test.jar & 

最佳答案

是的,我遇到了与 jboss EAP 7.0 相同的情况,在窗口机器上一切正常,但一旦我将它带到 linux 机器上。它不会写一个字。 [用于日志记录的 application.properties]

其次,我在 Jboss bin 文件夹中移动了 log4j.properties。 application.properties文件和springboot应用资源中的同一个文件。

enter image description here

之后重启服务器,你会发现loggs写在了指定的文件夹

关于java - Logback 不会将日志写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52153228/

相关文章:

java - 如何在节点Firebase中获得唯一的随机产品?

security - Web API 身份验证和授权 (OAuth)

asp.net - Java 和 tomcat 与 ASP.NET 和 IIS

java - 如何在Intellij IDEA 15中用Tomcat8运行 "hello world"JSP页面?

Java 一个 liner for 循环

java - AspectJ 属性问题

java - Java 中的重复数据删除 API

php - PHP 的 REST 基础知识

java - 将Java Restful服务连接到Matlab程序

java - 打包war时不透明部分出现非法字符