ヘルプ Log4J ログ

Log4J ログ

Log4Jは、Javaアプリケーションで幅広く使用されているロギングフレームワークです。Site24x7エージェントはマシン内のLog4Jベースのログを自動検出し、ログフィールド(date & time、log level、source file name、line、message)を識別します。デフォルトで、Log4Jログは、直感的なWebクライアントを使用して、データの検索、表示、収集および分析をサポートしています。Site24x7 AppLogsは、ログを簡単に管理するための、Cloudベースのログ管理サービスです。

ログファイルパス

各アプリケーションは、それぞれ異なるフォルダーとファイルにログを書き込みます。デフォルトで、各オペレーティングシステムの以下のフォルダーパスからLog4Jログが収集されます。ログが別のフォルダーにある場合は、ログプロファイル作成時に、ファイルパスで指定し、特定のフォルダーから収集することができます。

linux : /var/log/java/*.log*
windows : C:\\*java*\\logs\\*.log

ここで表示されているログファイルパスは、参照専用です。Site24x7はデフォルトで、スクリプトを実行し、特定のファイルパスを検索します。

ログパターン

DateTime:date$ $LogLevel$ $SourceFileName$ $Line:number$ - $Message$

上記は、Log4Jログを解析するためにSite24x7で定義されたデフォルトのログパターンで、以下サンプルに基づいています。

サンプルログ

2017-07-02 20:52:39,342 DEBUG className 200 - This is debug message

上記のサンプルログは5つのフィールドに分割でき、各フィールドでそれぞれの値を取得して、Site24x7にアップロードされます。

フィールド名 フィールド値
Date Time 2017-07-02 20:52:39, 342
Log Level DEBUG
Source File Name className
Line 200
Message This is debug message

Log4jログダッシュボード

AppLogsはログタイプごとに専用のダッシュボードを作成し、デフォルトでいくつかのウィジェットを表示します。Log4Jログダッシュボードで利用可能なウィジェットのリストは次のとおりです。

  • 例外
  • 最もログ生成が多い
注記

デフォルトのウィジェットに加えて、保存した検索もダッシュボードに自動的に追加されます。

Log4j Appender

Site24x7はLog4j Appenderを提供しており、Javaアプリケーションはエージェントを必要とせずにSite24x7プラットフォームに直接ログを送信できます。このアプローチにより、アプリケーションはAPI経由でログをプッシュできるため、ローカルログファイルへの書き込みが不要になり、ログ転送プロセスが簡素化されます。

このソリューションは、Javaベースのアプリケーションからの軽量でエージェントレスのログ転送方法を探しているお客様に最適です。

仕組み

Site24x7は、このログフレームワークをサポートするために、直接ログ送信用のカスタムAppenderを提供しています。Javaの場合、Log4j2カスタム Appenderは、APIトークンを使用してログをエンリッチメント、バッチ処理し、安全にSite24x7に送信するために使用されます。Appenderは、ログをファイルに書き込む代わりに、Site24x7のログ管理サービスにストリーミングします。

前提条件

Site24x7でLog4j2 Appenderを設定する前に、アプリケーションに次の依存関係が含まれていることを確認してください。

  1. Mavenを使用している場合は、pom.xmlファイルに次の依存関係を追加します。
    <dependency>
      <groupId>com.site24x7</groupId>
      <artifactId>custom-log4j2-appender</artifactId>
      <version>1.3.0</version>
    </dependency>
    
  2. Mavenを使用していない場合は、必要なJARファイルを手動でダウンロードし、アプリケーションのクラスパスに追加できます。

Log4j Appenderの設定

  1. [管理]→[AppLogs]→[Log Types ]に移動します。
  2. サンプルログフィールドでは、以下のサンプルJSONログを使用して新しいログタイプを作成できます。
    {
    "@timestamp":"2025-06-10T18:39:14.017Z",
    "LogLevel":"ERROR",
    "message":"Error #1",
    "logger":"org.zylker.Main",
    "thread":"main",
    "exception":"java.lang.NullPointerException: Generated NullPointerException\n\tat org.example.Main.generateRandomError(Main.java:71)\n\tat org.example.Main.main(Main.java:56)\n",
    "app":"test",
    "hostname":"zylker",
    "env":"local",
    "type":"test-logs"
    }
  3. ログパターンフィールドでは、以下のサンプルログパターンを使用して関連するフィールドを抽出できます。
    json $exception$ $@timestamp as timestamp:date:yyyy-MM-dd'T'HH:mm:ss.SSS'Z'$ $logger$ $thread$ $message$ $LogLevel$
  4. [保存してログプロファイルに進む]をクリックします。
  5. [ログプロファイルの追加]ウィンドウで、必要な詳細を入力します。
  6. 「ログ タイプを選択」フィールドの横にあるEdit icon 鉛筆アイコンをクリックして編集します。
  7. クリックすると、ログタイプの編集フォームが開きます。
  8. APIアップロードフィールドを有効に切り替えます。
  9. 変更を適用するには、[保存]をクリックします。
注記

APIキーは、ログタイプフォームが有効化され保存された後にのみ永続的に関連付けられます。それまではキーは一時的なものであり、変更される可能性があります。

  1. Site24x7 Appenderを使用するようにlog4j2.xml構成ファイルを更新します。サンプルコードは次の通りです。
    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN">
      <Appenders>
        <Site24x7Appender name="Site24x7" site24x7Token="YOUR_API_TOKEN_HERE" 
            logParsingEnabled="false">
        </Site24x7Appender>
      </Appenders>
      <Loggers>
        <Root level="info">
          <AppenderRef ref="Site24x7" />
        </Root>
      </Loggers>
    </Configuration>
    

パラメーター

Appender要素

属性

説明

デフォルト値

名前

Appenderの論理名です。このAppenderをログイベントに接続するためにロガーセクションで参照されます。

"Site24x7"

Site24x7トークン

APIトークンは、認証と Site24x7へのログの送信に使用されます。「YOUR_API_TOKEN_HERE」を実際のトークンに置き換えてください。

Nil

バッチサイズ

Site24x7に一括送信する前に収集するログイベントの数です。ネットワーク使用率の最適化に役立ちます。

"500"

ドレインタイムアウト秒

バッチサイズに達していない場合でも、ログをフラッシュして送信する前にAppenderが待機する最大時間(秒)です。

"15"

ホスト名の追加

各ログエントリにホストマシン名を追加します。分散環境でログソースを識別するのに役立ちます。

"true"

ログ解析有効

自動ログ解析を無効にします。trueに設定すると、Site24x7は構造化ログ形式(例:JSON)の解析を試みます。プレーンテキストログを送信する場合はfalseに設定してください。

"false"

ロガー要素

属性

説明

<Root level="info">

ルートロガーのログレベル(この場合はINFO)を定義します。INFOレベル以上のすべてのログイベントが記録されます。

<AppenderRef ref="Site24x7" />

ログ出力を処理できるように、Site24x7 Appender(上記で定義)をルートロガーに接続します。

上記の設定により、カスタムLog4j2 Appenderを使用して、JavaアプリケーションからSite24x7へログをシームレスに転送できます。設定と有効なAPIトークンによる認証が完了すると、追加のエージェントや手動エクスポートを必要とせずに、アプリケーションログが効率的にSite24x7にストリーミングされ、監視と分析が可能になります。

関連するログタイプ