none
WebSiteのログ永続化 RRS feed

  • 質問

  • お世話になっております。

    AzureWebSiteにてWebアプリケーションの独自ログ(自分で書いたコードの中からのログ)を/LogFilesへ出力しました。

    この/LogFilesにはIISのアクセスログなども出力されますが、/LogFilesのファイルは永続化する手段はありますか?

    または永続化は不要でしょうか?

    (WebSite上の/LogFilesは容量の制限がなくWebSiteを消さない限り消えない?)

    調べた範囲では下記のサイトにある記述で

    http://www.infoq.com/jp/articles/waw_1114

    引用はじめ

    共通の制限事項としては、[LogFiles]フォルダの容量は一定間隔(現在は30分)でチェックされており、35MBの上限に達するとログ出力が停止する。ログファイルを削除し、次の容量チェックをクリアするまでログ出力は再開されない。

    引用終わり

    とありますので、この記事の書かれた2012/11から変更がなければ自分でBlobStorageなどへ転送するか、35MB内でローリングするような処理の実装が必要なのでしょうか?

    よろしくお願いします。

    2014年7月8日 8:55

回答

すべての返信

  • こんにちは。

    管理ポータルのWebサイトの「構成」タブ内のアプリケーション診断でアプリケーションログのレベルやAzure Blob・Tableストレージへの出力を設定できますので、そちらで永続化できると思います。

    • 回答としてマーク 星 睦美 2014年7月14日 2:10
    • 回答としてマークされていない 星 睦美 2014年7月14日 4:02
    2014年7月11日 16:21
    モデレータ
  • k.buchiさま

    お答えいただきありがとうございます。

    最初に書くべきだったのかもしれませんが、デプロイしているアプリケーションはJavaWebアプリになります。

    「構成」タブよりJavaを有効にして動かしています。

    ご教示の通り、「構成」タブの「アプリケーション診断」をBlobに指定しましてもBlobへは何も出力されませんでした。

    「サイト診断」の方はIISのアクセスログが出力されることを確認できました。

    想像ですが、こちらの「アプリケーション診断」はLoggerとして出力先がFile/Blob/Tableを選択するような形ではないかと思うのですが、Javaで既にファイルとして/LogFilesに出力してしまったものをBlobに同期するといった形を予想していました。

    stackoverflowで以下のスレッドがありました。こちらの方はAppenderを実装してTableへ出力する方法選択されたようです。

    http://stackoverflow.com/questions/10838907/azure-java-tomcat-logging

    warだけデプロイすればお手軽に動くと想像していたのですが、Appenderを実装するような業務ロジック以外で時間を費やすなら仮想マシンの方がいいのかなと考えてしまいます。

    2014年7月14日 3:15
  • 自己解決しました。

    ログを移動するバッチを書いてWEBジョブに登録しました。

    • 回答としてマーク 星 睦美 2014年7月23日 4:17
    2014年7月15日 7:19