Skip to content

Instantly share code, notes, and snippets.

let heartBeatActivated = false;
class HeartBeat {
constructor() {
document.addEventListener('DOMContentLoaded', () => {
this.initHeartBeat();
});
}
initHeartBeat() {
this.lastActive = new Date().valueOf();
@jasonheecs
jasonheecs / TestAppender.kt
Last active September 13, 2022 17:24
TestAppender used for unit testing in log4j2 loggers
package com.example.appender
import org.apache.logging.log4j.core.Filter
import org.apache.logging.log4j.core.Layout
import org.apache.logging.log4j.core.LogEvent
import org.apache.logging.log4j.core.appender.AbstractAppender
import org.apache.logging.log4j.core.config.Property
import org.apache.logging.log4j.core.config.plugins.Plugin
import org.apache.logging.log4j.core.config.plugins.PluginAttribute
import org.apache.logging.log4j.core.config.plugins.PluginElement
@jasonheecs
jasonheecs / log4j2-test.xml
Last active September 7, 2022 09:04
Sample configuration to inject a TestAppender into log4j2
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="LOG_PATTERN">
%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n
</Property>
</Properties>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
@jasonheecs
jasonheecs / Foo.kt
Created September 7, 2022 18:06
Foo class used to illustrate testing of a log4j logger
package com.example
import mu.KotlinLogging
class Foo {
private val logger = KotlinLogging.logger {}
fun bar() {
logger.error("this is a test log message")
}
@jasonheecs
jasonheecs / FooTest.kt
Created September 7, 2022 18:51
Sample Unit test illustrating how to test log4j2 loggers using a custom appender
package com.example
import com.example.appender.TestAppender
import org.apache.logging.log4j.LogManager
import org.apache.logging.log4j.core.LoggerContext
import org.apache.logging.log4j.core.config.Configuration
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals