🔀 Merge branch 'release/v82'
[Sone.git] / src / test / kotlin / net / pterodactylus / sone / test / Logging.kt
1 package net.pterodactylus.sone.test
2
3 import org.junit.rules.TestRule
4 import org.junit.runners.model.Statement
5 import java.util.logging.Level
6 import java.util.logging.Logger.getLogger
7
8 /**
9  * Silences the `net.pterodactylus.sone` [logger][java.util.logging.Logger] during a test.
10  */
11 fun silencedLogging() = TestRule { base, _ ->
12         object : Statement() {
13                 override fun evaluate() {
14                         getLogger("net.pterodactylus.sone").let { logger ->
15                                 val oldLevel = logger.level
16                                 logger.level = Level.OFF
17                                 try {
18                                         base.evaluate()
19                                 } finally {
20                                         logger.level = oldLevel
21                                 }
22                         }
23                 }
24         }
25 }