将sqldialect设置为记录db appender



我正在编写用于创建DBAppender的源代码,以使用我的连接池的数据源。现在,当我启动DBAPPENDER时,我会发现错误"如果JDBC驱动程序不支持GetGeneratedKeys Method 没有特定的SQL方言"。因此,我想将sqldialect添加到我的实现中,但找不到方法。

将Appender添加到Logger的代码看起来如下:

LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
DataSourceConnectionSource source = new DataSourceConnectionSource();
source.setDataSource(Database.getInstance().getDatasource());
DBAppender dbAppender = new DBAppender();
dbAppender.setName("db");
dbAppender.setConnectionSource(source);
dbAppender.setContext(lc);      
dbAppender.start();
Logger logger = (Logger) LoggerFactory.getLogger(Loggerutils.class);
logger.addAppender(dbAppender);
logger.setLevel(Level.DEBUG);

当我检查另一个使用logback的项目时,我在XML配置中使用了<sqlDialect class="ch.qos.logback.core.db.dialect.MsSQLDialect" />

是否有一种方法可以在我的appender实现中添加sqldialect?

设置数据源后,应启动连接源。

    source.setDataSource(Database.getInstance().getDatasource());
    source.start()

此调用DiscoverConnectionProperties((方法,其中方言由数据源的驱动程序确定。

最新更新