Skip to content

TestLogger

@algorandfoundation/algokit-utils / testing / TestLogger

testing.TestLogger

Exposes an AlgoKit logger which captures log messages, while wrapping an original logger. This is useful for automated testing.

new TestLogger(originalLogger?): TestLogger

Create a new test logger that wraps the given logger if provided.

NameTypeDescription
originalLogger?LoggerThe optional original logger to wrap.

TestLogger

src/testing/test-logger.ts:16

Private logs: string[]

src/testing/test-logger.ts:10


Private originalLogger: undefined | Logger

src/testing/test-logger.ts:9

get capturedLogs(): string[]

Returns all logs captured thus far.

string[]

src/testing/test-logger.ts:22

clear(): void

Clears all logs captured so far.

void

src/testing/test-logger.ts:27


debug(message, ...optionalParams): void

NameType
messagestring
...optionalParamsunknown[]

void

Logger.debug

src/testing/test-logger.ts:89


error(message, ...optionalParams): void

NameType
messagestring
...optionalParamsunknown[]

void

Logger.error

src/testing/test-logger.ts:73


getLogSnapshot(config?): string

Returns a captured log snapshot. This helps ensure that the provided configuration items won’t appear with random values in the log snapshot, but rather will get substituted with predictable ids.

https://jestjs.io/docs/snapshot-testing#2-tests-should-be-deterministic

NameTypeDescription
config?LogSnapshotConfigThe snapshot configuration

string

The snapshotted logs.

Example

const logger = new TestLogger()
...
expect(logger.getLogSnapshot()).toMatchSnapshot()

src/testing/test-logger.ts:47


info(message, ...optionalParams): void

NameType
messagestring
...optionalParamsunknown[]

void

Logger.info

src/testing/test-logger.ts:81


verbose(message, ...optionalParams): void

NameType
messagestring
...optionalParamsunknown[]

void

Logger.verbose

src/testing/test-logger.ts:85


warn(message, ...optionalParams): void

NameType
messagestring
...optionalParamsunknown[]

void

Logger.warn

src/testing/test-logger.ts:77