2012-05-10 7 views
0

progress-4glプログラムを実行しているときに、log-managerを使用してログファイルに書き込むことができます。しかし、メッセージ文を書き出すときには、メッセージを表示するときにのみ警告ボックスとして表示されます。すなわち:Progress-4GLログファイルへの書き込み

log-manager:logfile-name = "queue.p" 
message "this will not appear". 
message "this will appear" view-as alert-box. 

は、ログファイルに表示されます:

[12/5月10日09 @:03:21.154から0700] P-11993170 T-000001 1 4GL - これが表示されます

ではないログ・マネージャにメッセージ・アウトを強制的に送信する方法はありますか?には、ビューア・アラート・ボックスが含まれていますか?私たちの伝統的なコードはどこでもメッセージステートメントを使用しています。関連するすべてのライブラリを更新する必要はありません。

+0

デフォルトストリームをリダイレクトすることはできますか?あなたはログファイルにメッセージを受け取ることはありませんが、代わりにOUTPUT TOを使用するとファイルに書き込まれます...しかし、それはあなたのアプリケーションに依存します... – pedromarce

答えて

1

クライアントログファイルにメッセージ(「VIEW-AS ALERT-BOX」なし)を取得することはできません。

進捗のヘルプ:「OpenEdgeはすべてのABL VIEW-AS ALERT-BOXメッセージをログファイルに書き込みます」 (LOG-ENTRY-TYPES属性> 4GLMessages)。

1

あなたはLOG-MANAGER:WRITE-MESSAGE()メソッドのようなものを考えていますか?

+0

いいえ、私はMESSAGEステートメントを考えています。当社の既存のコードベースは、MESSAGEを広範囲に使用してAppServerログに情報を出力します。私はすべてのメッセージステートメントにVIEW-AS ALERT-BOXを追加する必要なく、同じライブラリを使用できるようにしたいと考えていました。 – briddums

0

この場合、バッチ起動パラメータを使用する必要があります。 -b メッセージは表示されません(エラーを除く)。

prowin32.exe -p c:\test.p -b 

ここでは、ログに記録するメッセージを指定できます。あまりにもエラーを表示されません。 例:

prowin32.exe -p c:\test.p -b > c:\Test.txt 
+0

これは実際に使用されている現在の方法です。問題は、エラーメッセージがdatetimeスタンプなしでログに表示されることです。そのため、ログマネージャを使用し始めたいのです – briddums