小编fri*_*cke的帖子

logger.debug() NoSuchMethodError Spring-Boot 与 Elasticsearch 客户端 5.5.2

我尝试将 elasticsearch 客户端从 1.x 升级到当前版本 5.5.2(仅传输层),在修复所有 API 更改后,我遇到了记录器桥的主要问题。

正如文档中所述,我添加了必要的依赖项

    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-to-slf4j</artifactId>
        <version>2.8.2</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.24</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

但我仍然遇到以下异常(详细信息):

Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V
at org.elasticsearch.threadpool.ThreadPool.<init>(ThreadPool.java:203)
at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:129)
at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:265)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:130)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:116)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:106)
at net.my-local-stuff.nia.NiaApplication.esClient(NiaApplication.java:168)
Run Code Online (Sandbox Code Playgroud)

在升级之前,我将 logback 作为记录器,并且它仍然由我自己的代码中的 slf4j 外观拉动(显然它不会在 elasticsearch 的代码中拉动)。

如果有人想查看依赖树的要点。对我来说,似乎所有必要的依赖项都在那里。

关于日志记录的所有内容似乎最终都出现在一个未找到的类中(虽然我以某种方式获得了一个记录器实例,但该记录器实例没有所有方法。:-()。

非常感谢弗里克的帮助

java logback slf4j elasticsearch spring-boot

5
推荐指数
0
解决办法
1264
查看次数

Datomic 的递归数据日志查询真的很慢

我目前正在评估 Datomic 用于存储和查询构成本体的已解析符号的用例。数据库中总共有 225122 个符号(实体)(所以它是一个相当大的本体,但对于 DB 来说应该不是什么大问题)。

结构非常标准,符号有

  1. 包含它们的符号(如子符号等)
  2. 超级符号(它们继承的符号)

为了更好地访问符号,我们name为每个符号设置了唯一的。这加起来就是以下 Datomic 模式:

[{:db/ident :ml/name,
  :db/valueType :db.type/string,
  :db/cardinality :db.cardinality/one,
  :db/unique :db.unique/identity}
 {:db/ident :ml/parent,
  :db/valueType :db.type/ref,
  :db/index true,
  :db/cardinality :db.cardinality/one}
 {:db/ident :ml/superclass,
  :db/valueType :db.type/ref,
  :db/index true,
  :db/cardinality :db.cardinality/one}]
Run Code Online (Sandbox Code Playgroud)

现在我有了最基本的递归查询“给我所有(传递)包含在符号中的符号p”。在数据方面:

(def rules
  '[
    [(ubersymbol ?c ?p) (?c :ml/parent ?p)]
    [(ubersymbol ?c ?p) (?c :ml/parent ?c1) (ubersymbol ?c1 ?p) ]
    ])
(q '[:find ?c ?n :in $ % :where
     (ubersymbol ?c ?d) [?d :ml/name "name of …
Run Code Online (Sandbox Code Playgroud)

recursion graph clojure datalog datomic

4
推荐指数
1
解决办法
1373
查看次数