Java + AspectJ + Gradle でログが文字化けするのを解決した
この記事は最終更新日から6年以上が経過しています。
TL;DR
- Javaコンパイラの encoding 設定とは別に、 AspectJコンパイラの encoding 設定も必要だった
- 文字化けせずにログが出るように検証したンプルは↓
- https://github.com/o-hayato/AspectJ-sample
発生状況
- Java + AspectJ の検証をするために gradle-aspectj プラグインを使って検証していた
- AspectJ で出している部分のログは文字化けするが、コードから直接出しているログは文字化けしないという謎の現象が発生した
原因
- Javaコンパイラの encoding 設定 は
UTF-8
として設定していた - encoding の設定をして安心していたが、 AspectJコンパイラの encoding 設定は別途必要だった
対処法
compileAspect {
additionalAjcArgs = ['encoding' : 'UTF-8']
}
compileTestAspect {
additionalAjcArgs = ['encoding' : 'UTF-8']
}
compileAspect と compileTestAspect に encoding の設定を追加する
参考
- https://github.com/eveoh/gradle-aspectj
- http://www.eclipse.org/aspectj/doc/released/devguide/antTasks-iajc.html#antTasks-iajc-options