Java Logback没有在Ubuntu上生成日志文件
我们已经为应用程序中的日志记录需求配置了logback。当我们在Windows机器上运行应用程序时,它会按预期工作,并生成带有正确日志的日志文件。然而,当我们在Ubuntu机器上部署相同的可运行jar文件时,它不会生成日志文件。以下是logback.xml中的代码Java Logback没有在Ubuntu上生成日志文件,java,logging,ubuntu,logback,Java,Logging,Ubuntu,Logback,我们已经为应用程序中的日志记录需求配置了logback。当我们在Windows机器上运行应用程序时,它会按预期工作,并生成带有正确日志的日志文件。然而,当我们在Ubuntu机器上部署相同的可运行jar文件时,它不会生成日志文件。以下是logback.xml中的代码 <configuration> <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> <!--
<configuration>
<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
<!-- in the absence of the class attribute, it is assumed that the
desired discriminator type is
ch.qos.logback.classic.sift.MDCBasedDiscriminator -->
<discriminator>
<key>uniqueNumber</key>
<defaultValue>unknown</defaultValue>
</discriminator>
<sift>
<appender name="FILE-${uniqueNumber}" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${uniqueNumber}.log</file>
<append>true</append>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>${uniqueNumber}_%i.log</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10000</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>5MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d [%thread] %level %mdc %logger{35} - %msg%n</pattern>
</layout>
</appender>
</sift>
</appender>
<root level="DEBUG">
<appender-ref ref="SIFT" />
</root>
</configuration>
单号
未知的
${uniqueNumber}.log
真的
${uniqueNumber}u%i.log
1.
10000
5MB
%d[%thread]%级别%mdc%logger{35}-%msg%n
如果配置出现任何问题。如果您没有看到这些,那么可能会生成文件,但您不知道在哪里
您可以使用
显式启用logback打印,这将为您提供更多的工作
如果您无法找到文件,请考虑使用<代码> LSOF 来定位应用程序的打开文件的完整路径。
我也遇到了类似的问题,即使使用简单的回溯配置。
在我的logback.xml
文件中,我对appender使用了绝对路径而不是相对路径,但我的配置仅限于Linux,部署Java应用程序的机器都共享相同的配置/分区方案
这些文件,至少是发生在我身上的,应该是应用程序目录的一个目录。假设您正在从
PATH/my.JAR
执行JAR,日志应该在。/PATH
Hi@Thorbjorn,谢谢您的回答。我搜索了与运行jar相同文件夹中的文件,还搜索了根文件夹、var/logs文件夹和其他一些文件夹中的日志文件,但没有找到任何调试消息。是否启用了logback调试诊断?是的,我启用了调试诊断,并且可以在Windows上查看日志,如logback-test.xml未找到,找到logback.xml..etc..Trylsof
。可能需要root权限。hi@Thorbjorn,我将logback.xml保存在jar文件中,这导致了问题。此外,该文件夹未设置写入权限。因此,未生成日志文件。打印调试消息对我帮助很大。谢谢。你好,麦洛,谢谢你分享你的经验。我搜索了系统中几乎所有的文件,但找不到。