[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-4757?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jan Høydahl updated ZOOKEEPER-4757:
-----------------------------------
    Description: 
More and more enterprise users request structured JSON format logging for their 
applications. This removes the need for configuring custom log line parsers for 
every application when collecting logs centrally.

Zookeeper has flexible logging through Slf4j and Logback, for which there are 
several ways to achieve JSON logging. But for end users (such as helm chart 
user) it is very difficult to achieve. It should ideally be as simple as a 
configuration option.

OpenTelemetry is a CNCF project that has become the defacto standard for 
metrics and traces collection. They also cover logging, and they recently 
[standardized on ECS JSON 
format|https://opentelemetry.io/blog/2023/ecs-otel-semconv-convergence/] as 
their log schema for OTEL-logging. Although there are other JSON formats in 
use, a pragmatic option for zookeeper is to only support ECS.

Proposed way to enable JSON logging:
{code:java}
export ZOO_LOG_FORMAT=json
bin/zkServer.sh start-foreground{code}

  was:
More and more enterprise users request structured JSON format logging for their 
applications. This removes the need for configuring custom log line parsers for 
every application when collecting logs centrally.

Zookeeper has flexible logging through Slf4j and Logback, for which there are 
several ways to achieve JSON logging. But for end users (such as helm chart 
user) it is very difficult to achieve. It should ideally be as simple as a 
configuration option.

OpenTelemetry is a CNCF project that has become the defacto standard for 
metrics and traces collection. They also have a logging standard, and they 
recently [standardized on ECS JSON 
format|https://opentelemetry.io/blog/2023/ecs-otel-semconv-convergence/] as 
their log schema for OTEL-logging. Although there are other JSON formats in 
use, a pragmatic option is to only support ECS.

Proposed way to enable JSON logging:
{code:java}
export ZOO_LOG_FORMAT=json
bin/zkServer.sh start-foreground{code}


> Support JSON format logging
> ---------------------------
>
>                 Key: ZOOKEEPER-4757
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-4757
>             Project: ZooKeeper
>          Issue Type: Improvement
>            Reporter: Jan Høydahl
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> More and more enterprise users request structured JSON format logging for 
> their applications. This removes the need for configuring custom log line 
> parsers for every application when collecting logs centrally.
> Zookeeper has flexible logging through Slf4j and Logback, for which there are 
> several ways to achieve JSON logging. But for end users (such as helm chart 
> user) it is very difficult to achieve. It should ideally be as simple as a 
> configuration option.
> OpenTelemetry is a CNCF project that has become the defacto standard for 
> metrics and traces collection. They also cover logging, and they recently 
> [standardized on ECS JSON 
> format|https://opentelemetry.io/blog/2023/ecs-otel-semconv-convergence/] as 
> their log schema for OTEL-logging. Although there are other JSON formats in 
> use, a pragmatic option for zookeeper is to only support ECS.
> Proposed way to enable JSON logging:
> {code:java}
> export ZOO_LOG_FORMAT=json
> bin/zkServer.sh start-foreground{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to