docs: document logging configuration - #429
Merged
Merged
Conversation
Logging was only documented indirectly: the observability page covers the
JSON console format and correlation IDs, and the settings reference lists
server.logFormat, server.logIncludeTrace and server.logsDirectory, but
nothing explained the configuration underneath them.
Add a Logging page under How-To > Operations covering:
- how config/arcadedb-log.properties is located (the three-step resolution
order used by DefaultLogger) and what the shipped file configures
- per-package verbosity, including why a logger level alone is not enough
when the handler level is higher, and the Ratis noise suppression already
present in the shipped file
- the log directory: ${arcadedb.server.logsDirectory} placeholder resolution,
the ARCADEDB_LOG_DIR environment variable forwarded by server.sh, and why
this matters on a read-only root filesystem
- console format, cross-referencing the observability page rather than
duplicating the JSON field list
- routing the engine through SLF4J when embedding (arcadedb.log.impl=slf4j):
bindings, level mapping, logger names, MDC correlation keys, and the caveat
that the SLF4J logger never reads arcadedb-log.properties
- installing a custom Logger implementation
Cross-link from the observability logging section and register the page in
the Antora nav generator.
Contributor
|
Tick the box to add this pull request to the merge queue (same as
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Logging is currently documented only indirectly. The observability page covers the JSON console format and correlation IDs, and the settings reference lists
server.logFormat,server.logIncludeTraceandserver.logsDirectory, but nothing explains the configuration underneath them: wherearcadedb-log.propertiesis looked up, how per-package levels work, how the log directory is resolved, or how an embedding application routes the engine's logs into its own backend.What
A new Logging page under How-To > Operations (
src/main/asciidoc/how-to/operations/logging.adoc), covering:DefaultLoggeractually uses: thejava.util.logging.config.filesystem property (whichserver.shanchors to$ARCADEDB_HOME/config/), then a classpatharcadedb-log.properties, thenconfig/arcadedb-log.properties. Plus what the shipped file configures, including the 10 x 100 MB rotation bound.FINEdoes nothing while the handler stays atINFO, and the Ratis noise suppression already present in the shipped file as a worked example.${arcadedb.server.logsDirectory}placeholder resolution, theARCADEDB_LOG_DIRenvironment variable forwarded byserver.sh/server.bat, and why this matters on a read-only root filesystem (KubernetesreadOnlyRootFilesystem: true).arcadedb.installCustomFormatter=falsefor operators who want the properties file to be the only authority.arcadedb.log.impl=slf4j: bindings for Logback and Log4j2, level mapping, unchanged logger names, the namespaced MDC correlation keys, and the caveat that the SLF4J logger never readsarcadedb-log.properties.Loggerimplementations.Also cross-links from the observability logging section, and registers the page in
scripts/generate-nav.pyso it appears in the Antora sidebar.Depends on ArcadeData/arcadedb#5361
The Routing through SLF4J when embedding section documents
arcadedb.log.implandSlf4jLogger, which are added by ArcadeData/arcadedb#5361 and are not yet merged. Everything else on the page describes current released behavior.Since this repo deploys to
docs.arcadedb.comon every push tomain, please merge #5361 first. If it slips or changes shape, I am happy to split that section out and land the rest now.The version marker on that section reads
_(Available since v26.8.1)_, matching the currentmainsnapshot. Worth a sanity check against the release this actually ships in.Verification
python docs-validator.py-- filenames, anchors and cross-references all pass. The orphaned-pages warning is pre-existing (40 files, unrelated to this change).mvn generate-resources-- single-page HTML builds clean and the page renders in full.bash scripts/migrate.sh && npm run build-- Antora build producesbuild/site/arcadedb/how-to/operations/logging.html, nav entry lands atnav.adoc:92, zero error-level log entries.