Skip to content

Commit f3c82e9

Browse files
authored
Merge pull request #119 from OpenConext/feature/hearbeat
add heartbeat logger
2 parents f9b3406 + c96c5f3 commit f3c82e9

3 files changed

Lines changed: 51 additions & 0 deletions

File tree

oidc-playground-server/src/main/java/playground/PlaygroundServerApplication.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
import org.springframework.boot.autoconfigure.SpringBootApplication;
1111
import org.springframework.boot.autoconfigure.jmx.JmxAutoConfiguration;
1212
import org.springframework.boot.context.properties.EnableConfigurationProperties;
13+
import org.springframework.scheduling.annotation.EnableScheduling;
1314
import playground.api.ACR;
1415

1516
@SpringBootApplication(exclude = {AuditAutoConfiguration.class, HttpTraceAutoConfiguration.class,
1617
JmxAutoConfiguration.class, JmxEndpointAutoConfiguration.class,
1718
JvmMetricsAutoConfiguration.class, MetricsAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class,
1819
})
1920
@EnableConfigurationProperties(ACR.class)
21+
@EnableScheduling
2022
public class PlaygroundServerApplication {
2123

2224
public static void main(String[] args) {
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package playground.heartbeat;
2+
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
import org.springframework.scheduling.annotation.Scheduled;
6+
import org.springframework.stereotype.Component;
7+
8+
@Component
9+
public class HeartbeatLogger {
10+
private static final Logger LOG = LoggerFactory.getLogger(HeartbeatLogger.class);
11+
12+
@Scheduled(cron = "0 0 * * * *")
13+
public void mark() {
14+
LOG.info("MARK");
15+
}
16+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package playground.heartbeat;
2+
3+
import ch.qos.logback.classic.Level;
4+
import ch.qos.logback.classic.Logger;
5+
import ch.qos.logback.classic.spi.ILoggingEvent;
6+
import ch.qos.logback.core.read.ListAppender;
7+
import org.junit.Test;
8+
import org.slf4j.LoggerFactory;
9+
10+
import java.util.List;
11+
12+
import static org.junit.Assert.assertEquals;
13+
14+
public class HeartbeatLoggerTest {
15+
16+
@Test
17+
public void emitsMarkAtInfo() {
18+
Logger logger = (Logger) LoggerFactory.getLogger(HeartbeatLogger.class);
19+
ListAppender<ILoggingEvent> appender = new ListAppender<>();
20+
appender.start();
21+
logger.addAppender(appender);
22+
try {
23+
new HeartbeatLogger().mark();
24+
25+
List<ILoggingEvent> events = appender.list;
26+
assertEquals(1, events.size());
27+
assertEquals(Level.INFO, events.getFirst().getLevel());
28+
assertEquals("MARK", events.getFirst().getFormattedMessage());
29+
} finally {
30+
logger.detachAppender(appender);
31+
}
32+
}
33+
}

0 commit comments

Comments
 (0)