logbackはログファイル名の問題を解決します.
1.シーン1:logbackの出力パスはすべて新しいディレクトリの下を指したいのですが、変更するといろいろなところがあります.......
ソリューション:グローバル変数を構成し、変更するときにあちこちで変更しないようにします.これにより、変更する必要があります.
解決策:webコンテナにスクリプトを起動する異なるパラメータを与え、出力ディレクトリを設定し、logbackに読ませる
起動スクリプトjava-DUSER_に追加HOME="/home/sebastien"JavaWeb
3.シーン3:ログファイルに相対的に一意の名前を付けたい.
解決策:ファイル名としてタイムスタンプを使用
ソリューション:グローバル変数を構成し、変更するときにあちこちで変更しないようにします.これにより、変更する必要があります.
<configuration>
<property name="USER_HOME" value="/home/sebastien" />
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${USER_HOME}/myApp.log</file>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<appender name="FILEBACK" class="ch.qos.logback.core.FileAppender">
<file>${USER_HOME}/myApp_bak.log</file>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
<appender-ref ref="FILEBACK" />
</root>
</configuration>
2.シーン2:同じマシン上の2つのWebコンテナに1つのWebプロジェクトを配置したいが、ログは単独で出力したい.解決策:webコンテナにスクリプトを起動する異なるパラメータを与え、出力ディレクトリを設定し、logbackに読ませる
起動スクリプトjava-DUSER_に追加HOME="/home/sebastien"JavaWeb
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${USER_HOME}/myApp.log</file>
<encoder>
<pattern>%msg%n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="FILE" />
</root>
</configuration>
3.シーン3:ログファイルに相対的に一意の名前を付けたい.
解決策:ファイル名としてタイムスタンプを使用
<configuration>
<!-- Insert the current time formatted as "yyyyMMdd'T'HHmmss" under
the key "bySecond" into the logger context. This value will be
available to all subsequent configuration elements. -->
<timestamp key="bySecond" datePattern="yyyyMMdd'T'HHmmss"/>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<!-- use the previously created timestamp to create a uniquely
named log file -->
<file>log-${bySecond}.txt</file>
<encoder>
<pattern>%logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>