Skip to content

Commit 69a7604

Browse files
committed
build: reduce logging by settin level ERROR on GitHub
1 parent dd74f8e commit 69a7604

File tree

5 files changed

+50
-43
lines changed

5 files changed

+50
-43
lines changed

.github/workflows/full-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ jobs:
3030
env:
3131
BUILD_PORT: 0
3232
BUILD_SECURE_PORT: 0
33+
BUILD_LOG_LEVEL: 'ERROR'
3334
- name: Test Result
3435
uses: mikepenz/action-junit-report@v3
3536
if: failure()

.github/workflows/quick-build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ jobs:
2929
env:
3030
BUILD_PORT: 0
3131
BUILD_SECURE_PORT: 0
32+
BUILD_LOG_LEVEL: 'ERROR'
3233
- name: Build
3334
run: mvn clean package
3435
env:
3536
BUILD_PORT: 0
3637
BUILD_SECURE_PORT: 0
38+
BUILD_LOG_LEVEL: 'ERROR'
3739
- name: Test Result
3840
uses: mikepenz/action-junit-report@v3
3941
if: failure()

tests/src/test/java/io/jooby/problem/data/App.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import io.jooby.StatusCode;
1818
import io.jooby.exception.InvalidCsrfToken;
1919
import io.jooby.exception.StatusCodeException;
20-
import io.jooby.handler.AccessLogHandler;
2120
import io.jooby.jackson.JacksonModule;
2221
import io.jooby.problem.HttpProblem;
2322

@@ -37,7 +36,6 @@ public class App extends Jooby {
3736
List.of("io.jooby.exception.UnauthorizedException")));
3837
getEnvironment().setConfig(problemDetailsConfig.withFallback(getConfig()));
3938

40-
use(new AccessLogHandler());
4139
install(new JacksonModule());
4240

4341
get(
@@ -184,8 +182,4 @@ public class App extends Jooby {
184182
ctx.getRouter().getErrorHandler().apply(ctx, p, code);
185183
});
186184
}
187-
188-
public static void main(final String[] args) {
189-
runApp(args, App::new);
190-
}
191185
}

tests/src/test/java/io/jooby/test/Issue1990.java

Lines changed: 44 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
package io.jooby.test;
77

88
import static org.junit.jupiter.api.Assertions.assertEquals;
9-
import static org.junit.jupiter.api.Assertions.assertFalse;
109
import static org.junit.jupiter.api.Assertions.assertNotNull;
1110
import static org.junit.jupiter.api.Assertions.assertTrue;
1211

13-
import java.util.concurrent.atomic.AtomicInteger;
12+
import java.util.Optional;
13+
import java.util.function.Consumer;
1414

1515
import org.junit.jupiter.api.Test;
1616
import org.slf4j.LoggerFactory;
@@ -29,66 +29,76 @@ public class Issue1990 {
2929

3030
@Test
3131
public void withoutContextRelative() {
32-
Logger log = (Logger) LoggerFactory.getLogger(UrlResolverImpl.class);
33-
ListAppender<ILoggingEvent> appender = new ListAppender<>();
34-
appender.start();
35-
log.addAppender(appender);
36-
37-
UrlResolverImpl resolver = new UrlResolverImpl();
38-
39-
assertEquals("/callback", resolver.compute("/callback", null));
40-
assertFalse(appender.list.isEmpty());
32+
var event =
33+
withLogback(
34+
new UrlResolverImpl(),
35+
resolver -> {
36+
assertEquals("/callback", resolver.compute("/callback", null));
37+
});
38+
assertTrue(event.isPresent());
4139

42-
ILoggingEvent event = appender.list.get(0);
40+
var e = event.get();
4341

4442
assertEquals(
4543
"Unable to resolve URL from path '{}' since no web context was provided. This may prevent"
4644
+ " some authentication clients to work properly. Consider explicitly specifying an"
4745
+ " absolute callback URL or using a custom url resolver.",
48-
event.getMessage());
46+
e.getMessage());
4947

50-
assertEquals(Level.WARN, event.getLevel());
51-
assertNotNull(event.getArgumentArray());
52-
assertTrue(event.getArgumentArray().length > 0);
53-
assertEquals("/callback", event.getArgumentArray()[0]);
48+
assertEquals(Level.WARN, e.getLevel());
49+
var args = e.getArgumentArray();
50+
assertNotNull(args);
51+
assertTrue(args.length > 0);
52+
assertEquals("/callback", args[0]);
5453
}
5554

5655
@Test
5756
public void withoutContextAbsolute() {
58-
Logger log = (Logger) LoggerFactory.getLogger(UrlResolverImpl.class);
59-
ListAppender<ILoggingEvent> appender = new ListAppender<>();
60-
appender.start();
61-
log.addAppender(appender);
62-
63-
UrlResolverImpl resolver = new UrlResolverImpl();
64-
65-
assertEquals("https://foo/bar", resolver.compute("https://foo/bar", null));
66-
assertEquals("http://foo/bar", resolver.compute("http://foo/bar", null));
67-
assertEquals("HTTPS://foo/bar", resolver.compute("HTTPS://foo/bar", null));
68-
assertEquals("HTTP://foo/bar", resolver.compute("HTTP://foo/bar", null));
69-
70-
assertTrue(appender.list.isEmpty());
57+
var event =
58+
withLogback(
59+
new UrlResolverImpl(),
60+
resolver -> {
61+
assertEquals("https://foo/bar", resolver.compute("https://foo/bar", null));
62+
assertEquals("http://foo/bar", resolver.compute("http://foo/bar", null));
63+
assertEquals("HTTPS://foo/bar", resolver.compute("HTTPS://foo/bar", null));
64+
assertEquals("HTTP://foo/bar", resolver.compute("HTTP://foo/bar", null));
65+
});
66+
assertTrue(event.isEmpty());
7167
}
7268

7369
@ServerTest
7470
public void withContext(ServerTestRunner runner) {
75-
AtomicInteger port = new AtomicInteger();
76-
7771
runner
7872
.define(
7973
app -> {
8074
UrlResolverImpl resolver = new UrlResolverImpl();
8175
app.get("/", ctx -> resolver.compute("/callback?q=foo", Pac4jContext.create(ctx)));
82-
app.onStarted(() -> port.set(app.getServerOptions().getPort()));
8376
})
8477
.ready(
8578
http -> {
86-
String portFragment = port.get() == Context.PORT ? "" : ":" + port.get();
79+
var port = runner.getAllocatedPort();
80+
String portFragment = port == Context.PORT ? "" : ":" + port;
8781
http.get(
8882
"/",
8983
rsp ->
9084
assertEquals(
9185
"http://localhost" + portFragment + "/callback", rsp.body().string()));
9286
});
9387
}
88+
89+
private Optional<ILoggingEvent> withLogback(
90+
UrlResolverImpl resolver, Consumer<UrlResolverImpl> consumer) {
91+
var log = (Logger) LoggerFactory.getLogger(resolver.getClass());
92+
// MUST RUN ON INFO LEVEL
93+
log.setLevel(Level.INFO);
94+
var appender = new ListAppender<ILoggingEvent>();
95+
try {
96+
appender.start();
97+
log.addAppender(appender);
98+
consumer.accept(resolver);
99+
return appender.list.stream().findFirst();
100+
} finally {
101+
appender.stop();
102+
}
103+
}
94104
}

tests/src/test/resources/logback.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
<configuration>
33
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
44
<encoder>
5-
<pattern>%-5p [%d{ISO8601}] [%thread] %msg%n</pattern>
5+
<pattern>%-5p [%d{ISO8601}] [%thread] %msg %ex{0}%n</pattern>
66
</encoder>
77
</appender>
88

9-
<logger name="okhttp3.Request" level="TRACE" />
9+
<variable name="BUILD_LOG_LEVEL" value="${BUILD_LOG_LEVEL:-INFO}" />
1010

11-
<root level="INFO">
11+
<root level="${BUILD_LOG_LEVEL}">
1212
<appender-ref ref="STDOUT"/>
1313
</root>
1414
</configuration>

0 commit comments

Comments
 (0)