-1
私はLinux上で動作するWebアプリケーションを持っています。ログファイルのシステム時刻と時刻の時間が異なります。
date
コマンドは以下のとおりです。
しかし、私のログファイルの日付が私のログファイル内の日付が間違っている
です。なぜ日付が違うのですか?どうすれば修正できますか?私はサーバーを再起動しましたが、動作しません。
私はLinux上で動作するWebアプリケーションを持っています。ログファイルのシステム時刻と時刻の時間が異なります。
date
コマンドは以下のとおりです。
しかし、私のログファイルの日付が私のログファイル内の日付が間違っている
です。なぜ日付が違うのですか?どうすれば修正できますか?私はサーバーを再起動しましたが、動作しません。
ユーザがタイムゾーンを指定していない場合や、-Duser.timezoneを使用してタイムゾーンをローカル時間に設定している場合(CSTのようです)、JDKはデフォルトでタイムゾーン値としてUTC/GMTを使用します。
コードで現在のタイムゾーンを取得してください。サーバーのUTCタイムゾーンと同じコード内のUTC時間を設定する必要があります。 Ref:https://stackoverflow.com/questions/2403109/how-to-make-date-gettime-returns-utc-time –
私はslf4j + log4jを使い、私のPatternLayoutは '%d [%7r]%6pです: %L - %c - %m \ n'。私はlog4jでタイムゾーンを変更する方法を知らない。ログファイルの日付は数日前に正しかった。 – weaver
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/EnhancedPatternLayout.htmlを試しましたか?たとえば、%d {HH:mm:ss、SSS}、%d {dd MMM yyyy HH:mm:ss、SSS}、%d {DATE}または%d {HH:mm:ss} {GMT + 0 } ' –