[Java. Logging] add tests for logging placeholder annotator

IDEA-357019

GitOrigin-RevId: 83b43d897241603418cb3a96abba67bb603fba96
This commit is contained in:
Georgii Ustinov
2024-08-27 17:49:55 +03:00
committed by intellij-monorepo-bot
parent b995854818
commit afa40cc6b8
2 changed files with 143 additions and 0 deletions

View File

@@ -224,4 +224,88 @@ class JavaLoggingPlaceholderAnnotatorTest : LoggingPlaceholderAnnotatorTestBase(
}
}
""".trimIndent())
fun `test lazy init`() = doTest("""
import org.apache.logging.log4j.LogBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
class LazyInitializer {
static class StaticInitializer {
private static final Logger log;
static {
log = LogManager.getLogger();
}
public StaticInitializer() {
log.info("<placeholder>{}</placeholder>", 1);
}
}
static class StaticInitializerBuilder {
private static final LogBuilder log;
static {
log = LogManager.getLogger().atDebug();
}
public StaticInitializerBuilder() {
log.log("<placeholder>{}</placeholder>", "arg");
}
}
static class StaticInitializerBuilder2 {
private static final LogBuilder log;
static {
if (1 == 1) {
log = LogManager.getLogger().atDebug();
} else {
log = LogManager.getFormatterLogger().atDebug();
}
}
public StaticInitializerBuilder2() {
log.log("{}", 1);
}
}
static class ConstructorInitializer {
private final Logger log;
public ConstructorInitializer() {
log = LogManager.getLogger();
}
public ConstructorInitializer(int i) {
log = LogManager.getLogger();
}
public void test() {
log.info("<placeholder>{}</placeholder> <placeholder>{}</placeholder>", 2, 1);
}
}
static class ConstructorInitializer2 {
private final Logger log;
public ConstructorInitializer2() {
log = LogManager.getFormatterLogger();
}
public ConstructorInitializer2(int i) {
log = LogManager.getLogger();
}
public void test() {
log.info("{}", 1);
}
}
}
""".trimIndent())
}

View File

@@ -223,4 +223,63 @@ abstract class KotlinLoggingPlaceholderAnnotatorTest : LoggingPlaceholderAnnotat
}
""".trimIndent())
}
fun `test lazy init`() = doTest("""
import org.apache.logging.log4j.LogBuilder
import org.apache.logging.log4j.LogManager
import org.apache.logging.log4j.Logger
class LazyInitializer {
internal class StaticInitializerBuilder2 {
init {
log.log("{}", 1)
}
companion object {
private val log: LogBuilder
init {
if (1 == 1) {
log = LogManager.getLogger().atDebug()
} else {
log = LogManager.getFormatterLogger().atDebug()
}
}
}
}
internal class ConstructorInitializer {
private val log: Logger
constructor() {
log = LogManager.getLogger()
}
constructor(i) {
log = LogManager.getLogger()
}
fun test() {
log.info("<placeholder>{}</placeholder>", 1)
}
}
internal class ConstructorInitializer2 {
private val log: Logger
constructor() {
log = LogManager.getFormatterLogger()
}
constructor(i: Int) {
log = LogManager.getLogger()
}
fun test() {
log.info("{}", 1)
}
}
}
""".trimIndent())
}