Skip to content

Commit 2aee9d0

Browse files
committed
add experimental logger module and update related tests
1 parent b53d408 commit 2aee9d0

File tree

7 files changed

+22
-9
lines changed

7 files changed

+22
-9
lines changed

doc/api/cli.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1205,6 +1205,17 @@ Specify the `module` containing exported [asynchronous module customization hook
12051205

12061206
This feature requires `--allow-worker` if used with the [Permission Model][].
12071207

1208+
### `--experimental-logger`
1209+
1210+
<!-- YAML
1211+
added: REPLACEME
1212+
-->
1213+
1214+
> Stability: 1 - Experimental
1215+
1216+
Enable the experimental `node:logger` module for structured logging.
1217+
See the [Logger][] documentation for more details.
1218+
12081219
### `--experimental-network-inspection`
12091220

12101221
<!-- YAML
@@ -3594,6 +3605,7 @@ one is included in the list below.
35943605
* `--experimental-import-meta-resolve`
35953606
* `--experimental-json-modules`
35963607
* `--experimental-loader`
3608+
* `--experimental-logger`
35973609
* `--experimental-modules`
35983610
* `--experimental-print-required-tla`
35993611
* `--experimental-quic`
@@ -4177,6 +4189,7 @@ node --stack-trace-limit=12 -p -e "Error.stackTraceLimit" # prints 12
41774189
[ExperimentalWarning: `vm.measureMemory` is an experimental feature]: vm.md#vmmeasurememoryoptions
41784190
[File System Permissions]: permissions.md#file-system-permissions
41794191
[Loading ECMAScript modules using `require()`]: modules.md#loading-ecmascript-modules-using-require
4192+
[Logger]: logger.md
41804193
[Module resolution and loading]: packages.md#module-resolution-and-loading
41814194
[Navigator API]: globals.md#navigator
41824195
[Node.js issue tracker]: https://github.com/nodejs/node/issues

test/fixtures/es-modules/transpiled-cjs-require-module/dist/import-both.cjs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,4 @@ var __importStar = (this && this.__importStar) || function (mod) {
2424
};
2525
Object.defineProperty(exports, "__esModule", { value: true });
2626
var logger_1 = __importStar(require("logger"));
27-
var logger = logger_1.createLogger();
28-
new logger_1.JSONConsumer().attach();
29-
logger.info('import both');
27+
(0, logger_1.log)(new logger_1.default(), 'import both');

test/fixtures/es-modules/transpiled-cjs-require-module/dist/import-default.cjs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,4 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
44
};
55
Object.defineProperty(exports, "__esModule", { value: true });
66
var logger_1 = __importDefault(require("logger"));
7-
new logger_1.default.JSONConsumer().attach();
8-
var logger = logger_1.default.createLogger();
9-
logger.info('import default');
7+
new logger_1.default().log('import default');
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
"use strict";
22
Object.defineProperty(exports, "__esModule", { value: true });
33
var logger_1 = require("logger");
4-
new logger_1.JSONConsumer().attach();
5-
var logger = logger_1.createLogger();
6-
logger.info('import named');
4+
(0, logger_1.log)(console, 'import named');

test/parallel/test-code-cache.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ const {
1717
} = internalBinding('builtins');
1818

1919
for (const key of canBeRequired) {
20+
// Skip experimental modules that require a flag
21+
if (key === 'logger') continue;
2022
require(`node:${key}`);
2123
}
2224

test/parallel/test-process-get-builtin.mjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ if (!hasIntl) {
3838
}
3939
// TODO(@jasnell): Remove this once node:quic graduates from unflagged.
4040
publicBuiltins.delete('node:quic');
41+
// node:logger requires --experimental-logger flag.
42+
publicBuiltins.delete('node:logger');
4143

4244
if (!hasInspector) {
4345
publicBuiltins.delete('inspector');

test/parallel/test-require-resolve.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ require(fixtures.path('resolve-paths', 'default', 'verify-paths.js'));
6262
builtinModules.forEach((mod) => {
6363
// TODO(@jasnell): Remove once node:quic is no longer flagged
6464
if (mod === 'node:quic') return;
65+
// node:logger requires --experimental-logger flag
66+
if (mod === 'node:logger') return;
6567
assert.strictEqual(require.resolve.paths(mod), null);
6668
if (!mod.startsWith('node:')) {
6769
assert.strictEqual(require.resolve.paths(`node:${mod}`), null);

0 commit comments

Comments
 (0)