-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Open
Labels
Description
Component(s)
receiver/filelog
What happened?
Description
When ingesting a compressed file (gzip) with filelog receiver, if the last line does not end in a newline character, the last line is never consumed.
If the same file (i.e. last line ending without newline character) is not compressed, the last line is consumed correctly.
Steps to Reproduce
echo -n '{"test": "uncompressed, no new line"}' > test_uncompressed.log
echo -n '{"test": "compressed, no new line"}' > test_compressed.log
gzip test_compressed.logtest.yaml:
receivers:
filelog:
include: [ "*log*" ]
compression: auto
start_at: beginning
exporters:
debug:
verbosity: normal # detailed
service:
pipelines:
logs:
receivers: [filelog]
exporters: [debug]
Expected Result
2026-01-22T06:57:47.033Z info fileconsumer/file.go:266 Started watching file {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "filelog", "otelcol.component.kind": "receiver", "otelcol.signal": "logs", "component": "fileconsumer", "path": "test_compressed.log.gz"}
2026-01-22T06:57:47.034Z info fileconsumer/file.go:266 Started watching file {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "filelog", "otelcol.component.kind": "receiver", "otelcol.signal": "logs", "component": "fileconsumer", "path": "test_uncompressed.log"}
2026-01-22T06:57:47.728Z info Logs {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "debug", "otelcol.component.kind": "exporter", "otelcol.signal": "logs", "resource logs": 1, "log records": 1}
2026-01-22T06:57:47.728Z info ResourceLog #0
ScopeLog #0
{"test": "uncompressed, no new line"} log.file.name=test_uncompressed.log
{"test": "compressed, no new line"} log.file.name=test_compressed.log.gz
Actual Result
2026-01-22T06:57:47.033Z info fileconsumer/file.go:266 Started watching file {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "filelog", "otelcol.component.kind": "receiver", "otelcol.signal": "logs", "component": "fileconsumer", "path": "test_compressed.log.gz"}
2026-01-22T06:57:47.034Z info fileconsumer/file.go:266 Started watching file {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "filelog", "otelcol.component.kind": "receiver", "otelcol.signal": "logs", "component": "fileconsumer", "path": "test_uncompressed.log"}
2026-01-22T06:57:47.728Z info Logs {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "debug", "otelcol.component.kind": "exporter", "otelcol.signal": "logs", "resource logs": 1, "log records": 1}
2026-01-22T06:57:47.728Z info ResourceLog #0
ScopeLog #0
{"test": "uncompressed, no new line"} log.file.name=test_uncompressed.log
Collector version
0.144.0
Environment information
OS: RHEL 9.5
OpenTelemetry Collector configuration
receivers:
filelog:
include: [ "*log*" ]
compression: auto
start_at: beginning
exporters:
debug:
verbosity: normal # detailed
service:
pipelines:
logs:
receivers: [filelog]
exporters: [debug]Log output
2026-01-22T06:57:47.033Z info fileconsumer/file.go:266 Started watching file {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "filelog", "otelcol.component.kind": "receiver", "otelcol.signal": "logs", "component": "fileconsumer", "path": "test_compressed.log.gz"}
2026-01-22T06:57:47.034Z info fileconsumer/file.go:266 Started watching file {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "filelog", "otelcol.component.kind": "receiver", "otelcol.signal": "logs", "component": "fileconsumer", "path": "test_uncompressed.log"}
2026-01-22T06:57:47.728Z info Logs {"resource": {"service.instance.id": "35de927e-b634-4515-b6df-2fc2b446a6a8", "service.name": "otelcol-contrib", "service.version": "0.144.0"}, "otelcol.component.id": "debug", "otelcol.component.kind": "exporter", "otelcol.signal": "logs", "resource logs": 1, "log records": 1}
2026-01-22T06:57:47.728Z info ResourceLog #0
ScopeLog #0
{"test": "uncompressed, no new line"} log.file.name=test_uncompressed.logAdditional context
No response
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
khushijain21