JournalctlがASCIIに出力されるのはなぜですか?

JournalctlがASCIIに出力されるのはなぜですか?

一般的なUbuntu 16.04サーバーVMがあります。私のロケールはどこでもutf-8に設定されています。

$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

私のアプリケーションは独自のファイルとstdoutに書き込むように設定されています。これはsystemd-journald(すべてデフォルト)で使用されます。しかし、私のアプリケーションの出力がASCIIではない場合、JournalctlはASCIIに切り捨てられるようです。

$ journalctl -u some.app --since "5 minutes ago"
Dec 01 14:37:57 some.hostname java[7037]: 2017-12-01 14:37:57.457 +0000 INFO : 
controllers.Users - Updating user: {"????":"???????","???????_???????_?????":"1","???????_???????_????_??????":"2","???????_???????_?????":"3"}

アプリケーションログとアプリケーションを手動で起動すると、ファイルにパイプされた出力の両方に正しいUTF-8でエンコードされた出力が含まれます。

私は何が間違っていましたか? JournalctlがASCIIに出力されるように見えるのはなぜですか?

ベストアンサー1

おすすめ記事