ログまたはログ履歴は、生成されたイベント、アクション、または変更が時系列で記録されたテキストファイル (構造化または非構造化) です。
通常、ログはいくつかの目的で使用されます。たとえば、アプリケーションのトレース、デバッグ、診断用に使われます。
GeneXus では、たとえば
[ Log Level ] プロパティを使用してビルドを実行することにより、さまざまなログを実行時に設定することができます。
WebApp のビルドとデプロイを行わずに、実行時にログ設定を変更するには、環境変数を使用します。
基本的な環境変数は以下のとおりです:
環境変数 |
説明 |
値 |
使用可能バージョン |
GX_LOG_LEVEL |
ログに追加する情報の詳細度を設定します。 |
- debug
- all
- info
- warn
- error
|
- Java ジェネレーター (v18 U1)
- .NET ジェネレーター (v18 U2)
|
GX_LOG_LEVEL_USER |
Log API (Log 外部オブジェクト) を使用する場合にログの詳細レベルを設定できます。この設定は、[ Log Level ] プロパティで設定する詳細レベルには依存しません。 |
- debug
- all
- info
- warn
- error
|
- Java ジェネレーター (v18 U1)
- .NET ジェネレーター (v18 U2)
|
GX_LOG_OUTPUT |
[ Log Level ] プロパティの結果の送信先を指定します。 |
- ConsoleAppender
(SYSOUT に書き込み)
- RollingFile
(ファイルに書き込み)
- AZUREAPPLICATIONINSIGHTS (.NET では GeneXus 18 Upgrade 7 以降で利用できます)
|
- Java ジェネレーター (v18 U1)
- .NET ジェネレーター (v18 U2)
|
**LogLevel を指定した場合、指定したレベル以上のメッセージでログが有効になります。
加えて、使用するログプロバイダーによって、以下で説明するいくつかの考慮事項があります。
.NET ジェネレーターの場合、考慮される環境変数は
[ Observability Provider ] プロパティの値に依存します。
[ Observability Provider ] プロパティが "none" 以外の値に設定されている場合、log4net は使用されず、OpenTelemetry のログプロバイダーで置き換えられます。
[ Log output ] プロパティ が
Azure Application Insights の場合も同じことが起こります。この場合、使用されるプロバイダーは log4net ではなく、Azure Application Insights ログプロバイダーです。
次の表は、両方の場合
(log4net 以外のログプロバイダーを使用する場合) に適用される環境変数の基準を示しています:
環境変数 |
説明 |
値 |
|
ログに追加する情報の詳細度を設定します。
これは、標準クラスのログと Log API によって生成されたログの両方に適用されます。
|
- all (Trace)
- debug (Debug)
- info (Information)
- warn (Warning)
- error (Error)
- fatal (Critical)
|
GX_LOG_OUTPUT: ConsoleAppender
GX_LOG_LEVEL: INFO
GX_LOG_LEVEL_USER: INFO
ジェネレーター:
Java、
.NET
.NET および Java における環境変数を使用したアプリケーション設定
[ Log output ] プロパティ
[ User Log level ] プロパティ
[ Log output ] プロパティ