• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

[Logback+slf4j]MysqlDBAppender正确配置方法以及错误处理

mysql 搞代码 4年前 (2022-01-09) 32次浏览 已收录 0个评论

第一必要条件:jar 包 所需要的包: logback-core-0.9.8.jar logback-classic-0.9.8.jar slf4j-api-1.6.8.jar 写该文时,最新版本为 logback的版本为1.1.2. 对应的Slf4j-api 为 1.7.6 (两种配方都可以) 第二必要条件:数据库表创建脚本。 包括stackoverflo

第一必要条件:jar 包

所需要的包:

logback-core-0.9.8.jar

logback-classic-0.9.8.jar

slf4j-api-1.6.8.jar

写该文时,最新版本为 logback的版本为1.1.2. 对应的Slf4j-api 为 1.7.6 (两种配方都可以)

第二必要条件:数据库表创建脚本。

包括stackoverflow上的很多朋友在内的coder都被官方

http://logback.qos.ch/manual/appenders.html

中提到的getGeneratedKeys 误导了,都以为,只要是表格里支持的,就不用自动建立表了,而只需要加上sqlDialect方言。其实不是,不管支持与否都要手动创建表。(当然你可以自己写一个java bean自动运行脚本来创建)。

还有看了很多网上的文章,经常出现 sqlDialect 这个配置节点。

我从logback 0.9.8开始测试的,对于Mysql,都不需要配置这个节点,oracle也不需要。

这一步,大家只需要在mysql中运行下面的脚本:

# 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.classic.db.DBAppender.## It is intended for MySQL databases. It has been tested on MySQL 5.1.37 # on Linuxuse tumorpredict;BEGIN;DROP TABLE IF EXISTS logging_event_property;DROP TABLE IF EXISTS logging_event_exception;DROP TABLE IF EXISTS logging_event;COMMIT;BEGIN;CREATE TABLE logging_event   (    timestmp         BIGINT NOT NULL,    formatted_message  TEXT NOT NULL,    logger_name       VARCHAR(254) NOT NULL,    level_str<strong style="color:transparent">本文来源gaodai#ma#com搞@@代~&码网^</strong>ing      VARCHAR(254) NOT NULL,    thread_name       VARCHAR(254),    reference_flag    SMALLINT,    arg0              VARCHAR(254),    arg1              VARCHAR(254),    arg2              VARCHAR(254),    arg3              VARCHAR(254),    caller_filename   VARCHAR(254) NOT NULL,    caller_class      VARCHAR(254) NOT NULL,    caller_method     VARCHAR(254) NOT NULL,    caller_line       CHAR(4) NOT NULL,    event_id          BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY  );COMMIT;BEGIN;CREATE TABLE logging_event_property  (    event_id	      BIGINT NOT NULL,    mapped_key        VARCHAR(254) NOT NULL,    mapped_value      TEXT,    PRIMARY KEY(event_id, mapped_key),    FOREIGN KEY (event_id) REFERENCES logging_event(event_id)  );COMMIT;BEGIN;CREATE TABLE logging_event_exception  (    event_id         BIGINT NOT NULL,    i                SMALLINT NOT NULL,    trace_line       VARCHAR(254) NOT NULL,    PRIMARY KEY(event_id, i),    FOREIGN KEY (event_id) REFERENCES logging_event(event_id)  );COMMIT;

第三必要条件:正确的配置。

这里给出一个用c3p0连接池管理的logback配置:

                                        com.mysql.jdbc.Driver                jdbc:mysql://{$server ip}:3306/{$dbname}                {$user}                {$password}                        

缺一不可。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[Logback+slf4j]MysqlDBAppender正确配置方法以及错误处理

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址