mirror of
https://github.com/LamGC/ScalaBot.git
synced 2025-04-29 22:27:31 +00:00
feat(logging): 支持通过参数控制日志输出级别.
通过添加新的 -D 参数 `scalabot.log.level`, 使得用户可以根据需要, 调整日志输出级别, 通过日志来自行(或协助开发者)排查问题, 对于与网络有关的 Debug 级别日志, 则由 `scalabot.log.network.verbose` 参数进行控制; 另外, 由于开发过程中可通过该参数修改日志级别, 因此移除 `logback-test.xml` 文件.
This commit is contained in:
parent
30a2cb34d5
commit
34d9ece6d7
@ -12,6 +12,7 @@ import org.eclipse.aether.repository.Authentication
|
||||
import org.eclipse.aether.repository.Proxy
|
||||
import org.eclipse.aether.repository.RemoteRepository
|
||||
import org.eclipse.aether.repository.RepositoryPolicy
|
||||
import org.slf4j.event.Level
|
||||
import org.telegram.telegrambots.bots.DefaultBotOptions
|
||||
import java.io.File
|
||||
import java.net.URL
|
||||
@ -248,6 +249,34 @@ internal class LogDirectorySupplier : PropertyDefinerBase() {
|
||||
}
|
||||
}
|
||||
|
||||
internal class LogLevelSupplier : PropertyDefinerBase() {
|
||||
override fun getPropertyValue(): String {
|
||||
val property = System.getProperty("scalabot.log.level", System.getenv("BOT_LOG_LEVEL"))
|
||||
val level = if (property != null) {
|
||||
try {
|
||||
Level.valueOf(property.uppercase())
|
||||
} catch (e: IllegalArgumentException) {
|
||||
addWarn("Invalid log level: `$property`, the log will be output using the Info log level.")
|
||||
Level.INFO
|
||||
}
|
||||
} else {
|
||||
Level.INFO
|
||||
}
|
||||
return level.name
|
||||
}
|
||||
}
|
||||
|
||||
internal class NetworkVerboseLogSupplier : PropertyDefinerBase() {
|
||||
override fun getPropertyValue(): String {
|
||||
val propertyValue = System.getProperty("scalabot.log.network.verbose", "false")
|
||||
return if (propertyValue.toBoolean()) {
|
||||
"DEBUG"
|
||||
} else {
|
||||
"INFO"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal object Const {
|
||||
val config = loadAppConfig()
|
||||
const val METRICS_NAMESPACE = "scalabot"
|
||||
|
@ -1,6 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<included>
|
||||
<define name="DATA_LOGS" class="net.lamgc.scalabot.LogDirectorySupplier"/>
|
||||
<define name="LOG_LEVEL" class="net.lamgc.scalabot.LogLevelSupplier"/>
|
||||
<define name="NETWORK_LOG_LEVEL" class="net.lamgc.scalabot.NetworkVerboseLogSupplier"/>
|
||||
|
||||
<appender name="STD_OUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
|
@ -1,16 +0,0 @@
|
||||
<configuration scan="false" debug="false">
|
||||
<include resource="base-logback.xml"/>
|
||||
|
||||
<logger name="org.apache.http" level="INFO"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.DefaultTransporterProvider" level="INFO"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider" level="INFO"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager" level="INFO"/>
|
||||
<logger name="org.telegram.telegrambots.facilities.proxysocketfactorys" level="INFO"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.DefaultUpdateCheckManager" level="INFO"/>
|
||||
|
||||
<root level="DEBUG">
|
||||
<appender-ref ref="FILE_OUT"/>
|
||||
<appender-ref ref="STD_ERR"/>
|
||||
<appender-ref ref="STD_OUT"/>
|
||||
</root>
|
||||
</configuration>
|
@ -1,7 +1,14 @@
|
||||
<configuration scan="false" debug="false">
|
||||
<include resource="base-logback.xml"/>
|
||||
|
||||
<root level="INFO">
|
||||
<logger name="org.apache.http" level="${NETWORK_LOG_LEVEL}"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.DefaultTransporterProvider" level="${NETWORK_LOG_LEVEL}"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.DefaultRepositoryConnectorProvider" level="${NETWORK_LOG_LEVEL}"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.EnhancedLocalRepositoryManager" level="${NETWORK_LOG_LEVEL}"/>
|
||||
<logger name="org.telegram.telegrambots.facilities.proxysocketfactorys" level="${NETWORK_LOG_LEVEL}"/>
|
||||
<logger name="org.eclipse.aether.internal.impl.DefaultUpdateCheckManager" level="${NETWORK_LOG_LEVEL}"/>
|
||||
|
||||
<root level="${LOG_LEVEL}">
|
||||
<appender-ref ref="FILE_OUT"/>
|
||||
<appender-ref ref="STD_ERR"/>
|
||||
<appender-ref ref="STD_OUT"/>
|
||||
|
Loading…
Reference in New Issue
Block a user