none
App Servce Java利用時の文字コードについて RRS feed

  • 質問

  • お世話になります。

    App ServceでJavaを利用し、ApplicationInsitesにログを出力しようとしています。

    AzureのApp ServceのTomcat上へデプロイしたWebアプリケーションからApplicationInsitesにログが出力されることは確認できたのですが、日本語が文字化けしている状態です。

    ログ出力には、log4j1.2系 + applicationinsights用のAppenderを利用し出力しています。

    ・log4j.xml 定義抜粋

      <!-- Fore Azure -->
       <appender name="azure"
            class="com.microsoft.applicationinsights.log4j.v1_2.ApplicationInsightsAppender">
            <param name="Encoding" value="Shift_JIS" />
       </appender>

    文字化けを回避すべく、以下を試したのですが有効とならない状況です。

    ・log4j.xmlのappender定義にエンコードを指定(上記)

    ・試しに文字列データを無理やりエンコードしてログ出力

    ・補足

    AzureのTomcat上にデプロイしたアプリにて、System.getProperty("file.encoding")にてTomcat?のデフォルトエンコーディングが”cp1252”となっていることを確認しています。

    ・ご教示頂きたいこと。

    Azure+Tomcat + ApplicationInsightsにて日本語の文字化けを回避する方法をご教示頂ければ幸いです。

    または、Azure+Tomcat のエンコーディング指定方法をご教示頂ければと思います。

    オンプレのTomcat環境であれば、Server.xml、Tomcatの起動オプション等で回避できるとは思うのですが、Azureの経験が乏しく、Azure+Tomcat 環境の場合の設定方法が分からない状況です。

    [環境]

    ・App Servce(Java)

     Javaバージョン 1.8.0_111

       Tomcat 8.5.20

    2017年12月11日 11:15

すべての返信

  • エンコーディングの変更方法ですが、WebAppsのアプリケーションの設定からキーと値を以下のように設定すれば変更できると思いますが、どうでしょうか?

    JAVA_OPTS -Dfile.encoding=shift_jis

    2017年12月12日 6:17