Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Won't Fix
-
None
-
None
-
None
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 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:
export ZOO_LOG_FORMAT=json bin/zkServer.sh start-foreground