Java JsonPath忽略输出上的调试日志

Java JsonPath忽略输出上的调试日志,java,json,jsonpath,jsonparser,json-path-expression,Java,Json,Jsonpath,Jsonparser,Json Path Expression,我正在使用JsonPath进行Java中的JSON解析工作。在运行代码时,是否有任何方法可以删除调试日志 因此,基本上,我只是尝试在Maven中运行解析代码: String pageName = JsonPath.read(json, "$['pageInfo']['pageName']"); System.out.println(pageName); 但是当运行jar工件文件时,第一行显示以下内容: 0[main]调试com.jayway.jsonpath.internal.

我正在使用
JsonPath
进行Java中的JSON解析工作。在运行代码时,是否有任何方法可以删除
调试
日志

因此,基本上,我只是尝试在Maven中运行解析代码:

String pageName = JsonPath.read(json, "$['pageInfo']['pageName']");
        System.out.println(pageName);
但是当运行
jar
工件文件时,第一行显示以下内容:

0[main]调试com.jayway.jsonpath.internal.path.CompiledPath-评估路径:$['pageInfo']['pageName']

如何忽略这一行?这会在运行每个
JsonPath.read()调用时出现

更新

最初,我从
log4j
中获得一些红色日志,因此添加了这些依赖项。红色原木消失了,但上面的原木(现在是黑色)出现了

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.5</version>
</dependency>

org.slf4j

这个问题实际上是2017年在他们的官方github页面上提出的

看起来您需要使用logback作为日志实现

以下是andreasaronsson在github问题上提供的代码

LoggerContext logContext = (LoggerContext) LoggerFactory.getILoggerFactory();
ch.qos.logback.classic.Logger log = logContext.getLogger("com.jayway.jsonpath.internal.path.CompiledPath");
log.setLevel(Level.INFO);
您需要在依赖项中使用此选项

<dependencies>
   <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.11.1</version>
   </dependency>
   <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.11.1</version>
   </dependency>
   <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
   </dependency>
</dependencies>

org.apache.logging.log4j

您使用的是什么日志框架?只需将
com.jayway.jsonpath
logger的级别设置为INFO或更高。下面是使用和的XML配置执行此操作的示例

回写:

Log4j 2:


如果这只是一个警告,你就不能忽略它吗?老实说!新来看看答案。我自己什么都没用!但显然jsonPath需要
log4j
,所以我将其添加到依赖项中。它显示了一些红色的消息,所以我添加了一些代码来忽略它们。但是这个出现了!顺便说一句,在哪里添加这些?看看我问题中的更新。什么是ch?这段代码不起作用。缺少一些内容。
ch
是一个包,请查看github问题。您需要
Logback
问题本身没有帮助。我是否需要导入某些内容或添加依赖项才能使此代码正常工作?!检查更新的答案,我已经为
依赖项提供了xml,而且我认为删除
测试将有助于我不使用maven。
<configuration>
  …
  <logger name="com.jayway.jsonpath" level="INFO"/>
  <root level="DEBUG">          
    <appender-ref ref="STDOUT" />
  </root>  
</configuration>
<Configuration status="WARN">
  …
  <Loggers>
    <Logger name="com.jayway.jsonpath" level="info">
      <AppenderRef ref="STDOUT"/>
    </Logger>
    <Root level="debug">
      <AppenderRef ref="STDOUT"/>
    </Root>
  </Loggers>
</Configuration>