2017-03-06 4 views
0

を印刷しないとき、完全なトレースログをダンプします。CRMは私が私のプラグインでトレースを使用して、私は潜在的なWebExceptionをキャッチ私のコードの部分を持っている彼らに

_traceService.Trace("This message is not logged"); 
try 
{ 
    using (var sr = new StreamReader(request.GetResponse().GetResponseStream())) 
    using (var jsonTextReader = new JsonTextReader(sr)) 
    { 
     _traceService.Trace("Success"); 
     _traceService.Trace(jsonTextReader.ToString()); 
     var ret = serializer.Deserialize<T>(jsonTextReader); 
     sw.Stop(); 
     _traceService.Trace("MadeRequest {0}", sw.Elapsed); 
     return ret; 
    } 
} 
catch (WebException e) 
{ 
    using (var sr = new StreamReader(e.Response.GetResponseStream())) 
    using (var jsonTextReader = new JsonTextReader(sr)) 
    { 
     _traceService.Trace("Error"); 
     _traceService.Trace("Error: " + e.Message); 
     throw; 
    } 
} 

私は例外をヒットした場合、私は私を期待CRMトレースログは例外の前にすべてのメッセージをトレースしますが、トレースログにはWeb例外のみがあります。私は "Error"と "Error:" + e.Messageステートメントも見ることができません。どうやってこれを簡単にデバッグすることができますか?

また、このコードはメインのプラグインロジックとは異なるクラスにあります。その変更は何かできますか?

答えて

1

例外が処理されずに伝達されない限り、これはトレースログに書き込まれません。あなたは、CRM 2015 SP1に更新することができます以降、あなたがここに私のworflowのactvitiesで

https://community.dynamics.com/crm/b/crminogic/archive/2015/04/28/plug-in-tracing-in-dynamics-crm-2015-update-1

を提示したソリューションを使用することができ、私は完全にトレースを回避し、すべての例外を取り扱い、呼び出し元のワークフローに結果を返した場合/対処するアクション。プラグインは別の問題であり、シナリオの解決策は例外をスローすることです。

関連する問題