0

プロジェクトで使用することに興味があり、使用slf4j-logbackしたいと考えていDBAppenderます。

どうやら、独自の を実装しない限り、DBNameResolver上記のリンクで概説されている特定のテーブル基準/スキーマに従う必要があります。具体的には、非常に特殊な列を持つ 3 つのテーブルが必要です。

そのページの情報はかなり詳細ですが、「テーブルのメタデータ」 (キー、インデックス、デフォルト値など) は含まれていません。特定の値で定義する必要があります。

これらのテーブルを作成するための DDL または SQL スクリプトを探してみましたが、見つかりませんでした。そのようなスクリプトは存在しますか? 他の SOer は、これらのDBAppenderテーブルの作成をどのように処理しましたか? 前もって感謝します!

編集: Grailsについて議論しているこの記事を見つけましたDBAppender:

データベース テーブルは自分で作成する必要があります。3 つのテーブルがあり、Logback ディストリビューションには、いくつかの一般的なデータベース用のサンプル DDL が付属しています。

最新の (1.0.13) ディストリビューションをダウンロードし、.ddl ファイルと .sql ファイルを徹底的に検索したところ、探していたものに似たものが次の場所に見つかりまし

logback-1.0.13/logback-access/src/main/java/ch/qos/logback/access/db/script/mysql.sql

# Logback: the reliable, generic, fast and flexible logging framework.
# Copyright (C) 1999-2010, QOS.ch. All rights reserved.
#
# See http://logback.qos.ch/license.html for the applicable licensing 
# conditions.

# This SQL script creates the required tables by ch.qos.logback.access.db.DBAppender.
#
# It is intended for MySQL databases. It has been tested on MySQL 5.0.22 with 
# INNODB tables.


BEGIN;
DROP TABLE IF EXISTS access_event_header;
DROP TABLE IF EXISTS access_event;
COMMIT;

BEGIN;
CREATE TABLE ACCESS_EVENT 
(
    timestmp          BIGINT NOT NULL,
    requestURI        VARCHAR(254),
    requestURL        VARCHAR(254),
    remoteHost        VARCHAR(254),
    remoteUser        VARCHAR(254),
    remoteAddr        VARCHAR(254),
    protocol          VARCHAR(254),
    method            VARCHAR(254),
    serverName        VARCHAR(254),
    postContent       VARCHAR(254),
    event_id          BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
COMMIT;

BEGIN;
CREATE TABLE access_event_header
(
    event_id          BIGINT NOT NULL,
    header_key        VARCHAR(254) NOT NULL,
    header_value      VARCHAR(1024),
    PRIMARY KEY(event_id, header_key),
    FOREIGN KEY (event_id) REFERENCES access_event(event_id)
);
COMMIT;

ただし、これらのテーブル (access_eventおよびaccess_event_header) は、ドキュメントで引用されているもの ( 、、および)と同じ 3 つのテーブルではありません。だから私はまだここで途方に暮れています...logging_eventlogging_event_propertylogging_event_exception

4

2 に答える 2