我有興趣在我的項目中使用slf4j-logback
,並且想使用DBAppender
。Logback DBAppender DDL?
顯然,除非你實現你自己的DBNameResolver
,你必須通過上面的鏈接描述的特定表標準/架構遵守。具體而言,您需要3個具有非常特定列的表格。
雖然該網頁上的信息是相當冗長,它不包含任何「表元」(鍵,索引,默認值等),如果我們留在添加這些我不知道我們的自己的判斷力或者是否需要用特定的值來定義。
我試圖尋找創建這些表的一個DDL或SQL腳本,但找不到任何。這樣的腳本是否存在?其他SOers如何處理創建這些DBAppender
表?提前致謝!
編輯:我發現this article on Grails討論DBAppender
:
您必須創建自己的數據庫表。有三個表格,並且Logback發行版針對若干流行的數據庫附帶示例DDL。
我下載了最新版本(1.0.13)分佈和搜查高和低.ddl和.sql文件,發現東西活象是我一直在尋找,位於:
的logback-1.0.13 /的logback訪問/ SRC /主/ JAVA/CH/QOS /的logback /訪問/分貝/腳本/ 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_event
,logging_event_property
和logging_event_exception
)。所以我仍然在這裏損失...
請參閱elton的回答,這是正確的。您應該刪除您錯誤地接受爲正確答案的答案。 – Ceki