Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以Curl格式在Elasticsearch中启用Java REST客户端日志记录_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Curl_Log4j - Fatal编程技术网 elasticsearch,curl,log4j,Java,elasticsearch,Curl,Log4j" /> elasticsearch,curl,log4j,Java,elasticsearch,Curl,Log4j" />

以Curl格式在Elasticsearch中启用Java REST客户端日志记录

以Curl格式在Elasticsearch中启用Java REST客户端日志记录,java,elasticsearch,curl,log4j,Java,elasticsearch,Curl,Log4j,我正在使用org.elasticsearch.client.RestHighLevelClient运行查询 根据官方文档,可以用curl格式记录请求: 我在log4j.properties中添加了以下行: log4j.logger.org.elasticsearch.client = debug 现在我看到http请求,但是,如何设置curl格式?根据他们的文档,您需要启用特定的跟踪记录器,该记录器专门负责curl格式响应 您可以在log4j1.x中通过以下几行实现这一点: log4j.app

我正在使用org.elasticsearch.client.RestHighLevelClient运行查询

根据官方文档,可以用curl格式记录请求:

我在log4j.properties中添加了以下行:

log4j.logger.org.elasticsearch.client = debug

现在我看到http请求,但是,如何设置curl格式?

根据他们的文档,您需要启用特定的跟踪记录器,该记录器专门负责curl格式响应

您可以在log4j1.x中通过以下几行实现这一点:

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] %c{1}:%L - %m%n

log4j.logger.tracer=TRACE, stdout

为RestHighLevelClient 7启用跟踪。版本+显示弹性客户端进行的rest调用的url。执行以下步骤

如果基于maven,则在pom中添加依赖项 slf4j api、slf4j-log4j12、jcl-over-slf4j:slf4j使log4j与弹性体使用的公共日志一起工作 logback经典:elastic使用的commons日志记录 log4j核心,log4japi:log4j2依赖关系 在log4j属性中启用跟踪程序 log4j.logger.tracer=跟踪,标准输出 文件级更改 在pom.xml中添加这些依赖项

<!-- log4j2 -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.11.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.11.2</version>
        </dependency>
        <!-- slf4j to make log4j work with commons logging used by elastic -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.12</version>
        </dependency>
        <!-- To bind log4j2 to sl4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.12</version>
            <scope>test</scope>
        </dependency>
        <!-- To bind commons logging used by elastic to sl4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.12</version>
        </dependency>
        <!-- commons logging used by elastic -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
            <exclusions>
                <exclusion>
                    <!-- Defined below -->
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>

为了防止有人不想为日志记录者操心,可以在QueryBuilder上调用toString并查看请求

对于log4j版本2.x,在log4j2.properties文件中添加以下配置

status = error
name = PropertiesConfig
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = console
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
log4j.logger.tracer=TRACE, stdout
# Debugging elasticsearch client
loggers=esclient, esclientsniffer, tracer

logger.esclient.name = org.elasticsearch.client
logger.esclient.level = trace
logger.esclient.appenderRefs = stdout
logger.esclient.appenderRef.stdout.ref = STDOUT

logger.esclientsniffer.name = org.elasticsearch.client.sniffer
logger.esclientsniffer.level = trace
logger.esclientsniffer.appenderRefs = stdout
logger.esclientsniffer.appenderRef.stdout.ref = STDOUT

logger.tracer.name=tracer
logger.tracer.level=trace
logger.tracer.appenderRefs = stdout
logger.tracer.appenderRef.stdout.ref = STDOUT