Skip to content

Commit 9e18d5f

Browse files
committed
[INTERNAL] Logger: Change order of log-flags
The dedicated log-level flag should always overwrite the other log-level flags.
1 parent 6dac124 commit 9e18d5f

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

lib/cli/base.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,21 @@ export default function(cli) {
1717
alias: "log-level",
1818
describe: "Set the logging level (silent|error|warn|info|perf|verbose|silly).",
1919
default: "info",
20-
type: "string"
20+
type: "string",
21+
choices: ["silent", "error", "warn", "info", "perf", "verbose", "silly"]
2122
})
2223
.option("verbose", {
2324
describe: "Enable verbose logging.",
2425
default: false,
2526
type: "boolean"
2627
})
27-
.option("silent", {
28-
describe: "Disable all log output.",
28+
.option("perf", {
29+
describe: "Enable performance measurements and related logging.",
2930
default: false,
3031
type: "boolean"
3132
})
32-
.option("perf", {
33-
describe: "Enable performance measurements and related logging.",
33+
.option("silent", {
34+
describe: "Disable all log output.",
3435
default: false,
3536
type: "boolean"
3637
})

lib/cli/middlewares/logger.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,20 @@ import {getVersion} from "../version.js";
77
* @param {object} argv logger arguments
88
*/
99
export async function initLogger(argv) {
10-
if (argv.loglevel && argv.loglevel !== "info") {
11-
// argv.loglevel defaults to "info", which is anyways already the Logger's default
12-
// Therefore do not explicitly set it again in order to allow overwriting the log level
13-
// using the UI5_LOG_LVL environment variable
14-
setLogLevel(argv.loglevel);
10+
if (argv.silent) {
11+
setLogLevel("silent");
1512
}
1613
if (argv.perf) {
1714
setLogLevel("perf");
1815
}
1916
if (argv.verbose) {
2017
setLogLevel("verbose");
2118
}
22-
if (argv.silent) {
23-
// Silent should overrule any other log-level related CLI flags
24-
setLogLevel("silent");
19+
if (argv.loglevel && argv.loglevel !== "info") {
20+
// argv.loglevel defaults to "info", which is anyways already the Logger's default
21+
// Therefore do not explicitly set it again in order to allow overwriting the log level
22+
// using the UI5_LOG_LVL environment variable
23+
setLogLevel(argv.loglevel);
2524
}
2625

2726
// Initialize writer

test/lib/cli/middlewares/logger.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,18 @@ test.serial("With log-level and verbose flag", async (t) => {
7575
const {logger, setLogLevelStub} = t.context;
7676
await logger.initLogger({loglevel: "silly", verbose: true});
7777
t.is(setLogLevelStub.callCount, 2, "setLevel has been called twice");
78-
t.is(setLogLevelStub.getCall(0).args[0], "silly", "sets log level to verbose");
79-
t.is(setLogLevelStub.getCall(1).args[0], "verbose", "sets log level to verbose");
78+
t.is(setLogLevelStub.getCall(0).args[0], "verbose", "sets log level to verbose");
79+
t.is(setLogLevelStub.getCall(1).args[0], "silly", "sets log level to verbose");
8080
});
8181

8282
test.serial("With log-level, verbose, perf and silent flag", async (t) => {
8383
const {logger, setLogLevelStub} = t.context;
8484
await logger.initLogger({loglevel: "silly", verbose: true, perf: true, silent: true});
8585
t.is(setLogLevelStub.callCount, 4, "setLevel has been called four times");
86-
t.is(setLogLevelStub.getCall(0).args[0], "silly", "sets log level to verbose");
86+
t.is(setLogLevelStub.getCall(0).args[0], "silent", "sets log level to silent");
8787
t.is(setLogLevelStub.getCall(1).args[0], "perf", "sets log level to perf");
8888
t.is(setLogLevelStub.getCall(2).args[0], "verbose", "Third sets log level to verbose");
89-
t.is(setLogLevelStub.getCall(3).args[0], "silent", "sets log level to silent");
89+
t.is(setLogLevelStub.getCall(3).args[0], "silly", "sets log level to verbose");
9090
});
9191

9292
import path from "node:path";

0 commit comments

Comments
 (0)