Skip to content

Commit 1819374

Browse files
committed
Use SimpleMessage for Log4J2 for security, close #1729
1 parent 1b7c128 commit 1819374

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

mirai-core-api/src/commonMain/kotlin/internal/utils/LoggerAdapterImpls.kt

+14-10
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,46 @@ package net.mamoe.mirai.internal.utils
1212
import net.mamoe.mirai.utils.MiraiLoggerPlatformBase
1313
import org.apache.logging.log4j.Marker
1414
import org.apache.logging.log4j.MarkerManager
15+
import org.apache.logging.log4j.message.Message
16+
import org.apache.logging.log4j.message.SimpleMessage
17+
import org.apache.logging.log4j.message.SimpleMessageFactory
1518
import java.util.logging.Level as JulLevel
1619
import java.util.logging.Logger as JulLogger
1720

1821
internal class Log4jLoggerAdapter(
1922
private val logger: org.apache.logging.log4j.Logger,
2023
override val marker: Marker?,
2124
) : MiraiLoggerPlatformBase(), MarkedMiraiLogger {
25+
val factory: SimpleMessageFactory = SimpleMessageFactory.INSTANCE
2226

2327
override fun verbose0(message: String?, e: Throwable?) {
2428
val marker = marker
25-
if (marker != null) logger.trace(marker, message, e)
26-
else logger.trace(message, e)
29+
if (marker != null) logger.trace(marker, factory.newMessage(message), e)
30+
else logger.trace(factory.newMessage(message), e)
2731
}
2832

2933
override fun debug0(message: String?, e: Throwable?) {
3034
val marker = marker
31-
if (marker != null) logger.debug(marker, message, e)
32-
else logger.debug(message, e)
35+
if (marker != null) logger.debug(marker, factory.newMessage(message), e)
36+
else logger.debug(factory.newMessage(message), e)
3337
}
3438

3539
override fun info0(message: String?, e: Throwable?) {
3640
val marker = marker
37-
if (marker != null) logger.info(marker, message, e)
38-
else logger.info(message, e)
41+
if (marker != null) logger.info(marker, factory.newMessage(message), e)
42+
else logger.info(factory.newMessage(message), e)
3943
}
4044

4145
override fun warning0(message: String?, e: Throwable?) {
4246
val marker = marker
43-
if (marker != null) logger.warn(marker, message, e)
44-
else logger.warn(message, e)
47+
if (marker != null) logger.warn(marker, factory.newMessage(message), e)
48+
else logger.warn(factory.newMessage(message), e)
4549
}
4650

4751
override fun error0(message: String?, e: Throwable?) {
4852
val marker = marker
49-
if (marker != null) logger.error(marker, message, e)
50-
else logger.error(message, e)
53+
if (marker != null) logger.error(marker, factory.newMessage(message), e)
54+
else logger.error(factory.newMessage(message), e)
5155
}
5256

5357
override val isVerboseEnabled: Boolean get() = logger.isTraceEnabled

0 commit comments

Comments
 (0)