良く分からないのでメモ。
Windows AzureのWebRoleプロジェクトは以下のようなコードをWeb.config内に生成します。
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,
Microsoft.WindowsAzure.Diagnostics,
Version=1.0.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
このとき、<filter type="" />がくせ者として機能するケースがあるようです。一見、「何も指定しない」ように見え、この設定があってもトレースログの出力ができている環境もあるので見逃していました。
しかし、コードの書き方次第で、これが致命的に動作を阻止してしまうケースがあるようです。ログ出力のテストプログラムでは、<filter type="" />をコメントアウトしただけでトレースログをTableに転送するようになったものがありました。
全般的にまだ動作はよく理解できていませんが、とりあえずメモ。
感想 §
Azureのログには謎が多く、使ったことがない範囲に踏み込むとすぐ道に迷いそうです。別件のログ問題の検証中にこの問題に遭遇し、三重ぐらい問題がネストしてしまいましたよ。というわけで、まだまだクリアされていない問題があります。