From bce2a48823a4aca1fe86f5258292818cb85a64d0 Mon Sep 17 00:00:00 2001 From: Carsten Meier Date: Mon, 1 Sep 2025 11:00:12 +0200 Subject: [PATCH 1/2] feat: add timestamps option to log output --- src/index.ts | 8 ++++++-- test/compose.test.ts | 12 ++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index d1fd709d..8e4aa893 100644 --- a/src/index.ts +++ b/src/index.ts @@ -65,6 +65,7 @@ export type DockerComposeConfigVolumesResult = { export interface IDockerComposeLogOptions extends IDockerComposeOptions { follow?: boolean + timestamps?: boolean } export interface IDockerComposeBuildOptions extends IDockerComposeOptions { @@ -675,10 +676,13 @@ export const logs = function ( services: string | string[], options: IDockerComposeLogOptions = {} ): Promise { - let args = Array.isArray(services) ? services : [services] + const args = Array.isArray(services) ? services : [services] if (options.follow) { - args = ['--follow', ...args] + args.unshift('--follow') + } + if (options.timestamps) { + args.unshift('--timestamps') } return execCompose('logs', args, options) diff --git a/test/compose.test.ts b/test/compose.test.ts index 2c41d710..c680fb0c 100644 --- a/test/compose.test.ts +++ b/test/compose.test.ts @@ -890,6 +890,18 @@ describe('logs command', (): void => { expect(std.out.includes('compose_test_proxy')).toBeTruthy() await compose.downAll({ cwd: path.join(__dirname), log: logOutput }) }) + + it('does include timestamps', async (): Promise => { + await compose.upAll({ cwd: path.join(__dirname), log: logOutput }) + const std = await compose.logs('proxy', { + cwd: path.join(__dirname), + log: logOutput, + timestamps: true + }) + + expect(std.out.includes('compose_test_proxy')).toBeTruthy() + await compose.downAll({ cwd: path.join(__dirname), log: logOutput }) + }) }) describe('port command', (): void => { From 639ff1b17e1956b234f1d90e7b7c50b72b345675 Mon Sep 17 00:00:00 2001 From: Carsten Meier Date: Mon, 1 Sep 2025 11:05:36 +0200 Subject: [PATCH 2/2] test: add timestamps option to log output --- test/compose.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/compose.test.ts b/test/compose.test.ts index c680fb0c..c0774e40 100644 --- a/test/compose.test.ts +++ b/test/compose.test.ts @@ -899,7 +899,8 @@ describe('logs command', (): void => { timestamps: true }) - expect(std.out.includes('compose_test_proxy')).toBeTruthy() + const currentDate = new Date().toISOString().slice(0, 10) + expect(std.out.includes(currentDate)).toBeTruthy() await compose.downAll({ cwd: path.join(__dirname), log: logOutput }) }) })