# Logging

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

## 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/lex/structured-events.md)
- [Context](https://banes-lab.com/records/lex/context.md)

## reinforces

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

## enables

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

## conflicts-with

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

## tensions-with

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

## tensions

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