2011-08-29 224 views
2

我們在我們的應用程序中爲我們的日誌記錄需求配置了logback。當我們在Windows機器上運行我們的應用程序時,它會按預期工作,並生成具有適當日誌的日誌文件。但是,當我們在Ubuntu機器上部署相同的可運行jar文件時,它不會生成日誌文件。以下是logback.xml代碼Logback在Ubuntu上不生成日誌文件

<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> 

回答

5

如果出現任何錯誤與配置logback prints out a lot of debug messages to System.out。如果你沒有看到這些,那麼可能會生成這些文件,但你只是不知道在哪裏。

您可以使用<configuration debug="true">明確啓用logback打印,這應該讓您有更多工作要做。

如果您找不到文件,請考慮使用lsof來查找應用程序打開文件的完整路徑。

+0

嗨@Thorbjorn,謝謝你的回答。我搜索了與運行jar相同的文件夾中的文件,還在根文件夾,var/logs文件夾以及其他文件夾中搜索了日誌文件,但沒有運氣。我也沒有收到任何調試消息。 – Saurabh

+0

您啓用了Logback調試診斷嗎? –

+0

是的我啓用了調試診斷,並可以看到在Windows上的日誌,如logback-test.xml未找到,找到logback.xml ..等等.. – Saurabh

0

即使採用更簡單的登錄配置,我也遇到了類似的問題。

在我的logback.xml文件中,我使用絕對路徑代替appender的相對路徑,但我的配置僅限Linux,我們部署Java應用程序的機器都共享相同的配置/分區方案。

這些文件,至少這是發生在我身上的,應該是應用程序目錄之上的一個目錄。假設你正在執行你的JAR從PATH/my.jar,日誌應該在../PATH

+0

Hello Milo,謝謝你分享你的經驗。我幾乎在系統的任何地方搜索了這些文件,但找不到。 – Saurabh