2017-05-12 9 views
0

​​spring-bootで絶対logdirを設定するには?

上記の文書によれば、ログパスとファイル名は次のように設定できます。

logging.file=/var/log/mylog.log

しかし、私はコンソールにログを表示していますが、ログファイルは決してライターではありません(ファイルシステムのどこにもありません)。

次のように私は、プロパティを変更する場合:

logging.file=var/log/mylog.log。 その後、私はclasspathroot/var/log/mylog.logのログインを取得しています。

質問:なぜそれがクラスパスのルートで動作しますが、/var/logでは動作しませんか。
​​ここで示されるセクション26.3

+0

logging.fileとlogging.pathの両方を使用しているのか、単にlogging.fileを使用していますか?私はここであなたに答えていたので、質問します:http://stackoverflow.com/a/40913904/270371それについて。 – davidxxx

+0

私は 'logging.file'だけを使用しています。 – membersound

+0

これはうまく見えます。アクセス許可の問題はありませんか?それを確認し、あなたが権利を持っていると確信する別のパスを試してください。 – davidxxx

答えて

-1

使用logging.path=/var/log/mylog.logあなたがlogging.fileの値に相対パスを使用している場合、それは現在のディレクトリの下にログイン保存されます。それがセクションで言及されるように。

指定されたログファイルに書き込みます。名前は現在のディレクトリの正確な場所または相対名になります。

ただし、値に絶対パスを指定すると、それでは全く問題はありません。しかし、私はあなたの場合、アプリケーションを実行しようとしていたユーザーがファイルを書き込むことを許可されていないディレクトリを置いていたと思います。

特定のディレクトリにファイルを書き込むためにアプリケーションを実行する(アプリケーションを実行する)アプリケーションユーザーにファイルの書き込みまたはアクセス許可を与えるディレクトリを提供することを推奨します。

+1

これは動作しません。また、ドキュメントによれば、これは 'logging.file'で動作するはずです:"指定されたログファイルに書き込みます。カレントディレクトリ。" – membersound

+0

@pvpkiranあなたが言うことは、文書と矛盾しています。 logging.pathを使用するときは、パスにファイルを指定しないでください。 **特定のディレクトリ**を指定することだけです。 – davidxxx

+0

ドキュメントをもう一度お読みください。 'logging.path'を使うとパスを指定するだけで、**ファイル名ではありません**。 'logging.file'は両方とも可能です。 – membersound

関連する問題