# Logging

> A mechanism that records structured events with their context as the code runs.

Record: `architecture:logging`
Kind: mechanism
Layer: [Observability](https://banes-lab.com/records/layer/observability.md)
Severity: mandatory
Scope: application, service
Canonical: https://banes-lab.com/ontology#architecture-logging

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Observability](https://banes-lab.com/records/architecture/observability.md) and before [Monitoring](https://banes-lab.com/records/architecture/monitoring.md).

## Repair

- Refactored by: Add Structured Logs, Add Context
- Detected by: absence of logs on error/business events
- Violated by: missing or unstructured critical logs
- Measured by: log coverage, signal/noise ratio
- Enforced by: logging policy, linting

## Requires

- [Structured Events](https://banes-lab.com/records/lexicon/structured-events.md)
- [Context](https://banes-lab.com/records/lexicon/context.md)

## Reinforces

- [Traceability](https://banes-lab.com/records/architecture/traceability.md)
- [Debugging](https://banes-lab.com/records/lexicon/debugging.md)

## Enables

- [Incident Analysis](https://banes-lab.com/records/lexicon/incident-analysis.md)

## Conflicts with

- [Silent Failure](https://banes-lab.com/records/lexicon/silent-failure.md)
- [Log-as-Control-Flow](https://banes-lab.com/records/architecture/log-as-control-flow.md)

## In tension with

- [Noise/Personal Data Leakage](https://banes-lab.com/records/lexicon/noise-personal-data-leakage.md)

## Tensions

- [Logging / Noise/Personal Data Leakage](https://banes-lab.com/records/tension/logging-noise-personal-data-leakage.md)

## Severity

- [mandatory](https://banes-lab.com/records/vocabulary/severity-mandatory.md)

## Category

- [Observability / Auditability / Traceability](https://banes-lab.com/records/architecture-category/observability-auditability-traceability.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Model Architecture](https://banes-lab.com/ontology/principles/architecture-category-model-architecture.md)
- [Observability / Auditability / Traceability](https://banes-lab.com/ontology/principles/architecture-category-observability-auditability-traceability.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Observability / Auditability / Traceability](https://banes-lab.com/ontology/lexicon/lexicon-category-observability-auditability-traceability.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
