0

以下のリンクから BizTalk の 1 つの機能を試していました https://masteringbiztalkserver.wordpress.com/category/pipelines/

これまで、エントリを確認するためにイベント ログにアクセスする必要はありませんでした。BizTalk アプリケーションからイベント ログに記録されたカスタム メッセージを取得しようとすると、BizTalk ホスト インスタンスを再起動すると、2 つのエントリ以外に BizTalk からの関連エントリが表示されません。

私の調査から、アプリケーション オーケストレーションの Expression シェイプに以下のコードを書き留めました。

xmlMessage = InputMessage;
stringMessage = xmlMessage.OuterXml;
System.Diagnostics.EventLog.WriteEntry("BizTalk Server", stringMessage);

ここで、InputMessageは、作成したサンプル スキーマのオーケストレーションで定義されたメッセージです。

私のアプリケーションは適切にビルドおよびデプロイされ、メッセージも適切に処理されています。送信ポートを意図的に停止したときに、コードまたは中断されたメッセージのログインイベントビューアーが表示されないというだけです。

以下のリンクからの議論も役に立ち ませんでした BizTalk からのイベントログがありません Windows 7 Ultimate マシンで BizTalk Server を構成しています。私はマシンの管理者です。

4

2 に答える 2

2

これに関するいくつかのポイント:

  • BizTalk サーバーは中断されたメッセージのイベントをログに記録しません。そのため、メッセージは表示されません。
  • BizTalk 製品が所有しているため、BizTalk Server イベント ソースは使用しないでください。
  • PowerShell を使用して、独自のカスタム イベント ソースを非常に簡単に作成できます。

カスタム イベント ソースを作成するには、次のようなものを使用します。

new-eventlog -logname "Application" -Source "MyApplicationThatLogs"

このイベント ソースで書き込むには、次のようなものを使用します。

System.Diagnostics.EventLog.WriteEntry("MyApplicationThatLogs", "Some Error Occured!", System.Diagnostics.EventLogEntryType.Error, 100, 0);

于 2016-05-29T14:56:58.420 に答える
0

System.Diagnostics.EventLogデバッグ目的ではなく、 BizTalk CAT Instrumentation Frameworkを使用することをお勧めします。

パイプラインの場合

TraceManager.PipelineComponent.TraceInfo(stringMessage);

オーケストレーションの場合

Microsoft.BizTalk.CAT.BestPractices.Framework.Instrumentation.TraceManager.WorkflowComponent.TraceInfo(stringMessage);

必要に応じてリアルタイムのトレースを可能にします。「(ファイルへのトレースの場合) パフォーマンスへの影響はごくわずかで、運用サーバーでトレースを有効にできます。」

于 2016-05-29T23:09:48.227 に答える