Skip to content

Commit 3cbf30f

Browse files
authored
[Jib CLI] Disable rich progress when http trace is enabled (#3153)
* Disable rich progress when http trace is enabled * Fix Javadoc
1 parent 18e74fe commit 3cbf30f

File tree

4 files changed

+24
-10
lines changed

4 files changed

+24
-10
lines changed

jib-cli/src/main/java/com/google/cloud/tools/jib/cli/Build.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
import com.google.cloud.tools.jib.api.Containerizer;
2020
import com.google.cloud.tools.jib.api.JibContainerBuilder;
21-
import com.google.cloud.tools.jib.api.LogEvent.Level;
21+
import com.google.cloud.tools.jib.api.LogEvent;
2222
import com.google.cloud.tools.jib.cli.buildfile.BuildFiles;
2323
import com.google.cloud.tools.jib.cli.logging.CliLogger;
2424
import com.google.cloud.tools.jib.plugins.common.globalconfig.GlobalConfig;
@@ -102,6 +102,7 @@ public Integer call() {
102102
ConsoleLogger logger =
103103
CliLogger.newLogger(
104104
commonCliOptions.getVerbosity(),
105+
commonCliOptions.getHttpTrace(),
105106
commonCliOptions.getConsoleOutput(),
106107
spec.commandLine().getOut(),
107108
spec.commandLine().getErr(),
@@ -110,13 +111,13 @@ public Integer call() {
110111

111112
if (!Files.isReadable(buildFile)) {
112113
logger.log(
113-
Level.ERROR,
114+
LogEvent.Level.ERROR,
114115
"The Build File YAML either does not exist or cannot be opened for reading: "
115116
+ buildFile);
116117
return 1;
117118
}
118119
if (!Files.isRegularFile(buildFile)) {
119-
logger.log(Level.ERROR, "Build File YAML path is a not a file: " + buildFile);
120+
logger.log(LogEvent.Level.ERROR, "Build File YAML path is a not a file: " + buildFile);
120121
return 1;
121122
}
122123

jib-cli/src/main/java/com/google/cloud/tools/jib/cli/Jar.java

+1
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ public Integer call() {
169169
ConsoleLogger logger =
170170
CliLogger.newLogger(
171171
commonCliOptions.getVerbosity(),
172+
commonCliOptions.getHttpTrace(),
172173
commonCliOptions.getConsoleOutput(),
173174
spec.commandLine().getOut(),
174175
spec.commandLine().getErr(),

jib-cli/src/main/java/com/google/cloud/tools/jib/cli/logging/CliLogger.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public class CliLogger {
2929
* Create a new logger for the CLI.
3030
*
3131
* @param verbosity the configure verbosity
32+
* @param httpTraceLevel the log level for http trace
3233
* @param consoleOutput the configured consoleOutput format
3334
* @param stdout the writer to store stdout
3435
* @param stderr the writer to store stderr
@@ -38,12 +39,13 @@ public class CliLogger {
3839
*/
3940
public static ConsoleLogger newLogger(
4041
Verbosity verbosity,
42+
HttpTraceLevel httpTraceLevel,
4143
ConsoleOutput consoleOutput,
4244
PrintWriter stdout,
4345
PrintWriter stderr,
4446
SingleThreadedExecutor executor) {
4547
boolean enableRichProgress =
46-
isRichConsole(consoleOutput) && verbosity.atLeast(Verbosity.lifecycle);
48+
isRichConsole(consoleOutput, httpTraceLevel) && verbosity.atLeast(Verbosity.lifecycle);
4749
ConsoleLoggerBuilder builder =
4850
enableRichProgress
4951
? ConsoleLoggerBuilder.rich(executor, false)
@@ -73,7 +75,11 @@ public static ConsoleLogger newLogger(
7375
}
7476

7577
@VisibleForTesting
76-
static boolean isRichConsole(ConsoleOutput consoleOutput) {
78+
static boolean isRichConsole(ConsoleOutput consoleOutput, HttpTraceLevel httpTraceLevel) {
79+
if (httpTraceLevel != HttpTraceLevel.off) {
80+
return false;
81+
}
82+
7783
switch (consoleOutput) {
7884
case plain:
7985
return false;

jib-cli/src/test/java/com/google/cloud/tools/jib/cli/logging/CliLoggerTest.java

+11-5
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ public class CliLoggerTest {
4747
private void createLoggerAndSendMessages(Verbosity verbosity, ConsoleOutput consoleOutput) {
4848
SingleThreadedExecutor executor = new SingleThreadedExecutor();
4949
ConsoleLogger logger =
50-
CliLogger.newLogger(verbosity, consoleOutput, mockOut, mockErr, executor);
50+
CliLogger.newLogger(
51+
verbosity, HttpTraceLevel.off, consoleOutput, mockOut, mockErr, executor);
5152

5253
logger.log(Level.DEBUG, "debug");
5354
logger.log(Level.INFO, "info");
@@ -190,23 +191,28 @@ public void testLog_debug_richConsole() {
190191

191192
@Test
192193
public void testIsRichConsole_true() {
193-
assertThat(CliLogger.isRichConsole(ConsoleOutput.rich)).isTrue();
194+
assertThat(CliLogger.isRichConsole(ConsoleOutput.rich, HttpTraceLevel.off)).isTrue();
195+
}
196+
197+
@Test
198+
public void testIsRichConsole_falseIfHttpTrace() {
199+
assertThat(CliLogger.isRichConsole(ConsoleOutput.rich, HttpTraceLevel.config)).isFalse();
194200
}
195201

196202
@Test
197203
public void testIsRichConsole_false() {
198-
assertThat(CliLogger.isRichConsole(ConsoleOutput.plain)).isFalse();
204+
assertThat(CliLogger.isRichConsole(ConsoleOutput.plain, HttpTraceLevel.off)).isFalse();
199205
}
200206

201207
@Test
202208
public void testIsRightConsole_autoWindowsTrue() {
203209
System.setProperty("os.name", "windows");
204-
assertThat(CliLogger.isRichConsole(ConsoleOutput.auto)).isTrue();
210+
assertThat(CliLogger.isRichConsole(ConsoleOutput.auto, HttpTraceLevel.off)).isTrue();
205211
}
206212

207213
@Test
208214
public void testIsRightConsole_autoDumbTermFalse() {
209215
environmentVariables.set("TERM", "dumb");
210-
assertThat(CliLogger.isRichConsole(ConsoleOutput.auto)).isFalse();
216+
assertThat(CliLogger.isRichConsole(ConsoleOutput.auto, HttpTraceLevel.off)).isFalse();
211217
}
212218
}

0 commit comments

Comments
 (0)