web-dev-qa-db-ja.com

Spring Bootアプリケーションのデフォルトのログファイル

Application.ymlのスプリングブートアプリケーションのロギングレベルを次のように設定しました:logging.level.com.Myapplicationname = DEBUG

アプリケーションはパッケージ化され、Tomcatでwarとしてデプロイされます。これとは別に、ログファイルなどを定義するためにlogback.xmlを設定していません。一部のユーザーがブラウザでアプリケーションを使用するときにコンソールログを表示できる場所を教えてください。フレームワークによって作成されたデフォルトのファイルはありますか。

18
Megan

logging.fileまたはlogging.pathのいずれかを指定する必要がありますが、両方は指定しないでください(両方を指定した場合、logging.pathは無視され、logging.fileのみが考慮されます)。

1。 logging.fileの使用

次のいずれかの方法でlogging.fileを使用できます。

logging.file = logfile.log                     //in current folder
logging.file = relativepath/to/logfile.log     //relative path with filename
logging.file = /fullpath/to/logfile.log        //full path with filename

Spring Boot Documentation

デフォルトでは、Spring Bootはコンソールにのみログを記録し、ログファイルは書き込みません。コンソール出力に加えてログファイルを書き込む場合は、logging.fileまたはlogging.pathプロパティを設定する必要があります(たとえば、application.propertiesで)。

Spring Bootのdocのログ方法

ロギングに行う必要がある唯一の変更がさまざまなロガーのレベルを設定することである場合、「logging.level」プレフィックスを使用してapplication.propertiesでそれを行うことができます。 「logging.file」を使用して、(コンソールに加えて)ログを記録するファイルの場所を設定することもできます。

2。 logging.pathを使用する

logging.pathを使用してパスを設定することもできます。この場合、ログファイルには自動的にspring.logという名前が付けられます。

logging.path = ./                         // -> spring.log in current folder
logging.path = relativepath/to/logs       // -> relativepath/to/logs/spring.log
logging.path = /fullpath/to/logs          // -> /fullpath/to/logs/spring.log

Spring Boot doc

[logging.pathの使用] spring.logを指定されたディレクトリに書き込みます。名前は、正確な場所でも、現在のディレクトリからの相対名でもかまいません。

Spring Bootロギングのspringframework.gur

ロギングファイルのパスを指定するlogging.pathプロパティもあります。これを使用すると、Spring Bootは指定されたパスにspring.logファイルを作成します。ただし、logging.fileプロパティとlogging.pathプロパティの両方を一緒に指定することはできません。完了した場合、Spring Bootは両方を無視します。

35
alexbt

Alexbtが言ったように、Spring Bootは両方を無視するため、両方のプロパティ(logging.pathとlogging.file)を同時に使用することはできません。

ただし、エンコードされたパスでlogging.fileを使用できます。

例:logging.file =/path/to/logs/your_logfile.log

7
Jorge Viana