ホームページ >データベース >mysql チュートリアル >JDBC アプリケーションで SQL ステートメントのログを有効にする方法

JDBC アプリケーションで SQL ステートメントのログを有効にする方法

DDD
DDDオリジナル
2025-01-06 04:44:39241ブラウズ

How to Enable SQL Statement Logging in JDBC Applications?

JDBC で SQL ステートメントのロギングを有効にする方法

ドライバー例外のアドレス指定

コードで、oracle.dms.console.DMSConsole に関連する例外が発生しました。この例外は、Oracle DMS 拡張ライブラリ (ojdbc6dms.jar) がクラスパスに存在する場合に発生します。これを解決するには、ビルド パスまたはクラスパスから ojdbc6dms.jar ファイルを削除または除外します。

ロギング フレームワークの実装

log4jdbc は一般的なロギング フレームワークですが、多数のオプションが利用可能です。これらのフレームワークは、フィルタリング、書式設定、カスタマイズなど、ロギング動作に対するさまざまなレベルの制御を提供します。

log4jdbc を使用した例を次に示します。

import net.sf.log4jdbc.DriverSpy;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;

public class LoggingExample {

    public static void main(String[] args) throws SQLException {
        // Set the JDBC driver class and URL
        String jdbcDriverClass = "net.sf.log4jdbc.DriverSpy";
        String jdbcUrl = "jdbc:log4jdbc:oracle:thin:@host:port:database";

        // Register the logging driver class
        DriverManager.registerDriver(new DriverSpy());

        // Create a connection to the database
        Connection connection = DriverManager.getConnection(jdbcUrl);

        // Enable logging for internal JDBC calls and statements
        connection.setLogWriter(new java.io.PrintWriter(System.err));

        // Execute a SQL statement
        connection.createStatement().execute("SELECT * FROM table_name");

        // Close the connection
        connection.close();
    }
}

構成

選択したロギング フレームワーク (log4j、logback など) を以下に従って設定します。フレームワークによって提供されるドキュメント。通常、これには、出力形式と場所を制御するためのロガーとアペンダの設定が含まれます。

ログ レベル

有効にする必要があるログ レベルを決定します。一般的な選択肢は次のとおりです。

  • TRACE: 内部操作に関する詳細情報
  • DEBUG: 詳細情報ですが、TRACE よりも冗長ではありません
  • INFO: イベントに関する高レベルの情報
  • 警告: 潜在的な問題を示す警告メッセージ
  • エラー:失敗を示すエラーメッセージ

出力先

ログの出力先を指定します。使用しているログ フレームワークに基づいて、コンソール、ファイル、データベース、またはその他のサポートされている保存先を指定できます。

以上がJDBC アプリケーションで SQL ステートメントのログを有効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。