最近のアクセス:
Log 外部オブジェクト
Log 外部オブジェクトを使用すると、メッセージをさまざまなレベル (それぞれ異なるストリームに割り当てられる) でログシステムに書き込むことができます。
イメージ:39668.png イメージ:39669.png

プロパティ

ありません。

メソッド

いずれのメソッドでも、書き込まれるデータを意味する "topic" (トピック) 値を指定できます。

Write メソッド

メッセージをログに書き込みます。必要に応じて、トピックと目的のログレベルを指定できます。
戻り値  なし
パラメーター Message:VarChar(1000) [ topic:VarChar(40) , logLevel:GeneXus.Common.LogLevel ]
   

Fatal メソッド

致命的エラーメッセージを (エラー フロー チャネル経由で) ログに書き込みます。
戻り値  なし
パラメーター Message:VarChar(1000) [   topic:VarChar(40) ]
   

Error メソッド

エラーメッセージを (エラー フロー チャネル経由で) ログに書き込みます。
戻り値  なし
パラメーター Message:VarChar(1000) [   topic:VarChar(40) ]
   

Warning メソッド

警告メッセージを (警告フローチャネル経由で) ログに書き込みます。
戻り値  なし
パラメーター Message:VarChar(1000) [   topic:VarChar(40) ]
   

Info メソッド

情報メッセージを (情報フローチャネル経由で) ログに書き込みます。
戻り値  なし
パラメーター Message:VarChar(1000) [   topic:VarChar(40) ]
   

Debug メソッド

デバッグメッセージを (デバッグ フロー チャネル経由で) ログに書き込みます。
戻り値  なし
パラメーター Message:VarChar(1000) [   topic:VarChar(40) ]
   

イベント

ありません。

ドメイン

LogLevel ドメイン

指定可能なログレベルを示す列挙型ドメインです。重大度の順序は次のとおりです:
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 には次のメッセージが表示されます (「スマートデバイスでログを有効にする方法」を参照)。
イメージ:37875.png
この場合、 [ Log Level ] プロパティの設定に起因して警告メッセージとエラーメッセージしか表示されません。その他のメッセージ (デバッグと情報) は無視されます。
: ログメッセージがオンラインアプリケーションの LogCat/XCode に表示されるのは、クライアント側のイベントで Log 外部オブジェクトが実行された場合のみです。このような場合、サーバー側の設定に応じて Start イベント、Refresh イベント、Load イベントでログが出力されます (次の例を参照)。

Web

[ 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 ファイルには次のメッセージが記録されます。
イメージ:39455.png

  • 次の文は同等です: 
    msg(&string,status)
    Log.Debug(&string)
    Log.Write(&string,"",LogLevel.DEBUG)

適用範囲

対応しているプラットフォーム:  スマートデバイス (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 を使用します。

参考情報




サブページ
Created: 18/10/29 01:07 by Admin Last update: 20/01/19 17:50 by Admin
カテゴリ
Powered by GXwiki 3.0