Logbackのファイル出力機能について質問です。
以下の様なMojoとlogback.xmlを作成し、プロジェクト単体での動作検証(単体テスト等)ではログファイルが出力されるのですが、
このプロジェクトをmvn installし、Maven Pluginとしての実行した場合ログ出力がされません。
ファイルの保存先を絶対指定にして再度installしても変わらず…。
logback.xmlで定義しているとは言え、jar化している場合はログのファイル出力は出来ないのでしょうか?
調べてみましたが情報が見つからず、何かご存じの方がいたら教えて頂きたいです。
Maven Plugin実行コマンド
→mvn hello-world:execute
java
1@Mojo(name = "execute") 2public class ExecuteMojo extends AbstractMojo 3{ 4 public void execute() throws MojoExecutionException, MojoFailureException 5 { 6 Logger logger = LoggerFactory.getLogger(ExecuteMojo.class); 7 logger.info("Hello Logback!!"); 8 } 9}
xml
1~~~ 2 <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 3 <encoder> 4 <pattern>%d{HH:mm:ss.SSS} %-5.5level [%-5.5thread] %-50.50logger{36} STDOUT - %msg%n</pattern> 5 </encoder> 6 </appender> 7 8 <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 9 <file>./HogeHoge.log</file> 10 <encoder> 11 <pattern>%d{yyyy/MM/dd HH:mm:ss.SSS} %-5.5level [%-5.5thread] %-50.50logger{36} FILE - %msg%n</pattern> 12 </encoder> 13 </appender> 14~~~
ログファイルのパスを相対パスではなく絶対パスで指定された場合はどうなのでしょうか。
カレントディレクトリからの相対パスだと分かりにくいかもしれません。
すみません。
分かり辛く申し訳ないのですが、本文内にも絶対パス指定で行った場合も出力されないことを記載していました。
相対、絶対どちらでもファイル出力NGですね…。
ファイルすら作られてませんか?
そうですね。
Maven Pluginでの実行の場合はファイルすら作られていない状態です。
ちなみに
logger.info("Hello Logback!!");
の一行の実行確認はできてますか?
通ってるかどうかの話です
logger.info("Hello Logback!!");
↑は間違いなく実行確認が取れてます。
mvn hello-world:execute
↑で実行した際にもコンソールに表示されますが、
ログファイルだけ出力されないといった感じです。
あなたの回答
tips
プレビュー