Logging#
Webette uses a structured, locale-aware logger:
- Levels:
debug,info,warn,error(filtered by min level). - Locales:
en,fr(message catalogs inlocales/<lang>/logs.json). - Output: console (rendered), plus
.jsonlpersistence under<site>/<dirName>/logs.jsonl. - Scoping: hierarchical (e.g.,
webette.cli.serve.build).
Configuration#
- Locale and min level come from the tool config (
webette.tool.ts) viagetEnv()/resolveLocale(). logging.dirNamecontrols where logs are written inside the site root (default.webette).- Verbose flag (
-v) forcesdebugmin level.
API#
createProjectLogger(rootDir, scope, verbose)→ Logger (async).logger.child(scope)→ child logger sharing config and log file.- Methods:
debug,info,warn,erroraccept amessageKeyplus optional params.
Messages#
- Keys and templates live in
locales/en/logs.jsonandlocales/fr/logs.json. - Interpolation uses
{name}placeholders.
Notes#
- Logs are persisted in neutral format (no rendered text) for future web UI/remote export.
- Locale fallback is normalized; env vars (
WEBETTE_LANG/LANG) are only a fallback if the tool config does not setlogging.locale.