Skip to content

introducing: log.type#3469

Closed
hilmarf wants to merge 24 commits into
open-telemetry:mainfrom
apeirora:log.type
Closed

introducing: log.type#3469
hilmarf wants to merge 24 commits into
open-telemetry:mainfrom
apeirora:log.type

Conversation

@hilmarf

@hilmarf hilmarf commented Feb 23, 2026

Copy link
Copy Markdown

Fixes #3429

Changes

Audit log recording security-relevant activities for compliance and forensics. When log.type='audit', the log record MUST not get lost and body not changed.

Important

Pull requests acceptance are subject to the triage process as described in Issue and PR Triage Management.
PRs that do not follow the guidance above, may be automatically rejected and closed.

Merge requirement checklist

  • CONTRIBUTING.md guidelines followed.
  • Change log entry added, according to the guidelines in When to add a changelog entry.
    • If your PR does not need a change log, start the PR title with [chore]
  • Links to the prototypes or existing instrumentations (when adding or changing conventions)

value: 'audit'

Audit log recording security-relevant activities for compliance and
forensics. When log.type='audit', the log record MUST not get lost and
body not changed.

Signed-off-by: Hilmar Falkenberg <hilmar.falkenberg@sap.com>
Signed-off-by: Hilmar Falkenberg <hilmar.falkenberg@sap.com>
Signed-off-by: Hilmar Falkenberg <hilmar.falkenberg@sap.com>
Signed-off-by: Hilmar Falkenberg <hilmar.falkenberg@sap.com>
open-telemetry#3429

Signed-off-by: Hilmar Falkenberg <hilmar.falkenberg@sap.com>
Comment thread .github/workflows/sync-fork.yaml Outdated
Signed-off-by: Hilmar Falkenberg <hilmar.falkenberg@sap.com>
@hilmarf
hilmarf requested a review from kamphaus February 23, 2026 16:36
@trask

trask commented Feb 25, 2026

Copy link
Copy Markdown
Member

OpenTelemetry hasn't expanded into audit logging yet, may be blocked on open-telemetry/community#2409

@hilmarf

hilmarf commented Feb 26, 2026

Copy link
Copy Markdown
Author

OpenTelemetry hasn't expanded into audit logging yet

True — but if we don’t start taking small steps soon, it will most likely never become possible to support such scenarios, which would be a pity.

Comment thread docs/general/logs.md Outdated
| Value | Description | Stability |
| --- | --- | --- |
| `app` | Default regular application log - everything which is NOT audit relevant | ![Development](https://img.shields.io/badge/-development-blue) |
| `audit` | Audit log recording security-relevant activities for compliance and forensics. When log.type='audit', the log record MUST not get lost and body not changed. | ![Development](https://img.shields.io/badge/-development-blue) |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have a prototype of this in practice?

I'm nervous that since this is so low in the hierarchy, otel will naturally batch data by resource/scope and that means audit logs and regular logs are all mixed together.

Should we try to make sure we batch/send this data in a separate channel or some how do not automatically bundle app + audit logs in the same channel?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have a prototype of this in practice?

Not yet. If you could point me to an example of what you would expect, I can try to create a prototype accordingly.

I'm nervous that since this is so low in the hierarchy, otel will naturally batch data by resource/scope and that means audit logs and regular logs are all mixed together.

Yes, unfortunately that’s correct.

Should we try to make sure we batch/send this data in a separate channel or some how do not automatically bundle app + audit logs in the same channel?

That would actually be great! My impression so far, however, is that introducing a new channel might be considered a rather large request and likely won't get accepted by the OTel code owners. Their last responses were along the lines of: "We have no time/interest to work on audit logging and are currently focusing solely on stabilization."

Given that audit logging is not currently on the roadmap, I'm investigating other mechanisms to clearly differentiate between non-essential and security-relevant log messages.

@kamphaus kamphaus Mar 2, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the log record MUST not get lost and body not changed

How would we enforce this? Should this be a spec change?
If you wanted to enforce this, it would have many consequences for the otel-collector and observability backends.
In my opinion the wording should use SHOULD. The audit data would be sent via the same channels as regular data and be a hint for later stages in the observability pipeline. You could then add routing / conditional processing to direct these logs to a separate destination.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the log record MUST not get lost and body not changed

How would we enforce this? Should this be a spec change? If you wanted to enforce this, it would have many consequences for the otel-collector and observability backends. In my opinion the wording should use SHOULD. The audit data would be sent via the same channels as regular data and be a hint for later stages in the observability pipeline. You could then add routing / conditional processing to direct these logs to a separate destination.

I've updated the wording as you suggested.

Nevertheless, the intention is indeed to implement some of the consequences you have in mind within the otel-collector itself — potentially as a dedicated audit-processor or a specialized exporter.

We're also evaluating whether we can add certain integrity‑validation mechanisms, so that audit logs can be verified downstream without requiring the collector to enforce immutability strictly.

@github-actions

Copy link
Copy Markdown

This PR has been labeled as stale due to lack of activity. It will be automatically closed if there is no further activity over the next 7 days.

@github-actions github-actions Bot added the Stale label Mar 18, 2026
@hilmarf

hilmarf commented Mar 23, 2026

Copy link
Copy Markdown
Author

bumping this up, thanks!

@github-actions github-actions Bot removed the Stale label Mar 24, 2026
@github-actions

github-actions Bot commented Apr 7, 2026

Copy link
Copy Markdown

This PR has been labeled as stale due to lack of activity. It will be automatically closed if there is no further activity over the next 7 days.

@github-actions github-actions Bot added the Stale label Apr 7, 2026
@hilmarf

hilmarf commented Apr 7, 2026

Copy link
Copy Markdown
Author

bumping this up, thanks!

@github-actions github-actions Bot removed the Stale label Apr 8, 2026
@github-actions

Copy link
Copy Markdown

This PR has been labeled as stale due to lack of activity. It will be automatically closed if there is no further activity over the next 7 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:log enhancement New feature or request Stale

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Introduce log type field to point to a category of definitions used for log record

4 participants