首页 > 解决方案 > 如何更改在 Java FX 应用程序中运行的 JanusGraph / Cassandra 的日志记录级别?

问题描述

我在 Cassandra 和 ElasticSearch 上运行 JanusGraph。当我在 IntelliJ 中运行应用程序时,JanusGraph 会产生大量的 DEBUG 输出。如何将日志输出更改为仅显示错误消息?

这在“调试级日志记录减慢执行”部分下的@ https://docs.janusgraph.org/basics/common-questions/进行了描述,但实际上并没有说明如何降级日志记录输出级别。

我的 Cassandra 的 cassandra.properties 文件是:

gremlin.graph=org.janusgraph.core.JanusGraphFactory
storage.backend=cql
storage.hostname=127.0.0.1
storage.cql.keyspace=janusgraph
cache.db-cache=true
cache.db-cache-clean-wait = 20
cache.db-cache-time = 180000
cache.db-cache-size = 0.25
index.search.backend=elasticsearch
index.search.hostname=127.0.0.1

我的 logbook.xml 文件是:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
      <Pattern>
        %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
      </Pattern>
    </layout>
  </appender>

  <root level="warn">
    <appender-ref ref="STDOUT" />
  </root>


  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss} %-5level %logger - %msg%n</pattern>
    </encoder>
  </appender>
  <logger name="o.j.g.t.vertexcache.GuavaVertexCache" level="ERROR"/>
  <logger name="org.apache.cassandra.gms.FailureDetector" level="ERROR"/>
  <root level="ERROR">
    <appender-ref ref="CONSOLE" />
  </root>
</configuration>

我的 pom.xml 文件是:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.abc</groupId>
    <artifactId>abc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>14</maven.compiler.source>
        <maven.compiler.target>14</maven.compiler.target>
        <example.main.class>com.abc.123</example.main.class>
        <example.config>${project.basedir}/conf/cassandra.properties</example.config>
        <logback.config>${project.basedir}/conf/logback.xml</logback.config>
    </properties>

    <dependencies>
        <!-- Skipped -->
    </dependencies>


    <build>
        <plugins>
            <!-- Skipped -->
        </plugins>
    </build>
</project>

标签: javamavendebuggingcassandrajanusgraph

解决方案


我使用以下配置将调试日志设置为 ERROR。

<configuration scan="true">


    <appender name="STDOUT"
        class="ch.qos.logback.core.ConsoleAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>%-5level [%thread] %date{ISO8601} %F:%L - %msg%n</pattern>
        </encoder>
    </appender>


    <root level="ERROR">
        <appender-ref ref="STDOUT" />
    </root>

</configuration> 

参考链接


推荐阅读