AzureStorageのWADLogsTableにログを出すときの注意

投稿者: | 2014年3月22日

備忘録です。

log4netを使ってWADLogsTableにログを出力するわけですがAzureSDKのバージョンアップに伴って色々と使い方が変わってきたみたいです。

ちょっと嵌ったことがあるので色々とかいておきます。

 

log4netでAzureにログを出力する方法は下記のURLたちをご参照ください。(英語で申し訳ない・・・)

http://cloudshaper.wordpress.com/2010/10/30/logging-with-log4net-on-the-azure-platform/

http://www.kongsli.net/nblog/2011/08/03/using-log4net-in-azure-compute/

 

■ 注意点 1

Azure.Diagnosticsの参照をするとConfigファイルに下記の設定が必要になります。この設定がないと転送されないです。

気をつけないといけない点は参照するDLLのバージョンとTokenがConfigファイルの設定と合致している必要があることです。

ここを意識しないと完璧にはまります。

※AzureSDK2.1の場合

あと、AzureプロジェクトのSDKのバージョンとあっていないとログが出力されないです。

AzureプロジェクトのSDKが2.1ならDiagnosticsも2.1を参照する必要があるみたいです。

実際、AzureプロジェクトのSDK2.2でDiagnostics2.1の組み合わせでログテーブルに転送されてませんでした。(ここ嵌った・・・。)

AzureプロジェクトのSDKバージョンを知りたい場合は、Azureプロジェクトを右クリック → プロパティから見れます。

 

■ 注意点 2

Azureプロジェクトに下記の設定が増えています。

※ロールインスタンスをダウぶるクリックで参照できます。

log002

クリックすると各ログ情報の出力設定を行えます。

log001

 

ここで設定した情報はロールインスタンス配下の[ diagnostics.wadcfg]に出力されます。

log4netで出力ログレベルの指定がありますが、こちらの設定が優先されるみたいなので注意です。

log4netで下記のようにERRORからFATALだけ出す用に設定しても、上記の構成でログレベルをINFOやALLにしているとそちらが優先されて出力されます。

多分、log4netがDiagnosticsを継承しているのでベースの設定が優先されるんだと思います。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA