Log 外部オブジェクトを使用すると、メッセージをさまざまなレベル (それぞれ異なるストリームに割り当てられる) でログシステムに書き込むことができます。
ありません。
いずれのメソッドでも、書き込まれるデータを意味する "topic" (トピック) 値を指定できます。
メッセージをログに書き込みます。必要に応じて、トピックと目的のログレベルを指定できます。
致命的エラーメッセージを (エラー フロー チャネル経由で) ログに書き込みます。
エラーメッセージを (エラー フロー チャネル経由で) ログに書き込みます。
警告メッセージを (警告フローチャネル経由で) ログに書き込みます。
情報メッセージを (情報フローチャネル経由で) ログに書き込みます。
デバッグメッセージを (デバッグ フロー チャネル経由で) ログに書き込みます。
ありません。
指定可能なログレベルを示す列挙型ドメインです。重大度の順序は次のとおりです:
FATAL |
致命的エラーレベル |
ERROR |
エラーレベル |
WARNING |
警告レベル |
INFO |
情報レベル |
DEBUG |
デバッグレベル |
OFF |
ログ無効 |
|
|
[ Default Log Level ] プロパティを Warning に設定し、クライアントイベントとして次のコードを記述したとします:
Event 'Test'
Composite
Log.Debug(!"Debug message",!"MyCompany.Test.TestSDLoggingDebug")
Log.Info(!"Info message",!"MyCompany.Test.TestSDLoggingInfo")
Log.Warning(!"Warning message",!"MyCompany.Test.TestSDLoggingWarning")
Log.Error(!"Error message",!"MyCompany.Test.TestSDLoggingError")
EndComposite
Endevent
Android の LogCat には次のメッセージが表示されます (「スマートデバイスでログを有効にする方法」を参照)。
この場合、 [ Log Level ] プロパティの設定に起因して警告メッセージとエラーメッセージしか表示されません。その他のメッセージ (デバッグと情報) は無視されます。
注: ログメッセージがオンラインアプリケーションの LogCat/XCode に表示されるのは、クライアント側のイベントで Log 外部オブジェクトが実行された場合のみです。このような場合、サーバー側の設定に応じて Start イベント、Refresh イベント、Load イベントでログが出力されます (次の例を参照)。
[ User Log level ] プロパティを 6.All に設定し、[ Log Output ] プロパティを File に設定したとします。その後、次のようにイベントを記述します:
Event 'Test'
Log.Write(!"Write message", !"MyCompany.Test.TestLoggingWrite",LogLEvel.DEBUG)
Log.Debug(!"Debug message",!"MyCompany.Test.TestLoggingDebug")
Log.Info(!"Info message",!"MyCompany.Test.TestLoggingInfo")
Log.Warning(!"Warning message",!"MyCompany.Test.TestLoggingWarning")
Log.Error(!"Error message",!"MyCompany.Test.TestLoggingError")
Log.Fatal(!"Fatal message",!"MyCompany.Test.TestLoggingFatal")
Endevent
client.log ファイルには次のメッセージが記録されます。
対応しているプラットフォーム: |
スマートデバイス (Android、iOS)、Web (.NET、Java) |
この外部オブジェクトは、GeneXus 15 Upgrade 11 以降で使用できます。
モジュールを使用して GeneXus のインターフェース (API など) を共有する場合は、これらのガイドラインに従うことを強くお勧めします。
- 操作に関するログメッセージは翻訳せずに常に英語 (推奨) で記述し、フィルタや検索を容易に実行できるようにします。そのためには、!"My log message" のように "!" 表記を使用します。
- 各ログメッセージにトピックを追加し、メッセージを生成するオブジェクトを指定します。表記規則は次のとおりです:
!"<会社>.<モジュール>.<オブジェクト>"
例:
!"GeneXus.GeneXus.Common.Notifications.SendNotification"
ここで、GeneXus は会社、GeneXus.Common.Notifications はモジュール (ルートから)、SendNotification はオブジェクトを表します。
- msg("<メッセージ>",status) の代わりに Log API を使用します。
|