2016-12-21 11 views
0

私はlogback.xmlを春MVC +休止プロジェクトで設定していますが、ローカルマシンで正常に動作しています。ローカルマシンにはwindows 10 OSがインストールされています。xmlでパスの場所を動的にする方法

のLinuxがインストールされた本番マシンのコードを実行したいと思います。

は、OSに応じて動的に位置をLOG_PATHLOG_ARCHIVEにする方法がありますか?プロダクションマシンにコードをデプロイすると、パスの場所を手動で変更する必要がなくなります。

何か助けていただければ幸いです。何か他のものが必要な場合は教えてください。前もって感謝します。 :D

<?xml version="1.0" encoding="UTF-8"?> 
<configuration debug="true" scan="true" scanPeriod="30 seconds"> 
    <property name="LOG_PATH" value="D:/coinLogs" /> 
    <property name="LOG_ARCHIVE" value="${LOG_PATH}/archive" /> 

    <appender name="Console-Appender" class="ch.qos.logback.core.ConsoleAppender"> 
     <layout> 
      <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n</pattern> 
     </layout> 
    </appender> 

    <appender name="File-Appender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <file>${LOG_PATH}/logfile.log</file> 
     <encoder> 
      <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - [%X{requestId}] - %p %c -- %m%n 
      </pattern> 
      <outputPatternAsHeader>true</outputPatternAsHeader> 
     </encoder> 

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


    <logger name="coinPay.logbackxml" level="info" additivity="false"> 
     <appender-ref ref="Console-Appender" /> 
     <appender-ref ref="File-Appender" /> 
    </logger> 

    <!-- To remove extra hibernate logs --> 
    <logger name="org.hibernate"> 
     <level value="info" /> 
    </logger> 

    <root> 
     <appender-ref ref="Console-Appender" /> 
     <appender-ref ref="File-Appender" /> 
    </root> 

</configuration> 

答えて

1

あなたは外部の場所にlogbackファイルを作成し、以下に示すようにアプリを起動中PARAMとして 通過することができます。すべての変更のため、ファイルごとに30秒をスキャンしますlogback.xmlに以下の設定を追加する

java -Dlogback.configurationFile=path/logback.xml MyApp 

。変更が検出されると、ログ設定が再設定されます。 /: 『/ coinLogs D』今、あなたは私が与えられた「の値」「<プロパティ名= 『開き、log_path』値=をしたいあなたは直接logback.xml

+0

でそれを変更することができます何かを変更したい場合は

<configuration scan="true" scanPeriod="30 seconds" > ... </configuration> 

> '動的 – abhi314

+0

私はそれが動作するとは思わない – Jobin

関連する問題