mirror of
https://github.com/mamoe/mirai.git
synced 2025-01-10 18:40:15 +08:00
Terminal: make MiraiConsoleImplementationTerminal open and enable all logs for tests
This commit is contained in:
parent
824a72b2e7
commit
85322b3321
@ -1,8 +1,8 @@
|
||||
/*
|
||||
* Copyright 2019-2020 Mamoe Technologies and contributors.
|
||||
* Copyright 2019-2021 Mamoe Technologies and contributors.
|
||||
*
|
||||
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
|
||||
* Use of this source code is governed by the GNU AFFERO GENERAL PUBLIC LICENSE version 3 license that can be found through the following link.
|
||||
* Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
|
||||
*
|
||||
* https://github.com/mamoe/mirai/blob/master/LICENSE
|
||||
*/
|
||||
@ -55,9 +55,9 @@ import java.nio.file.Paths
|
||||
* @see MiraiConsoleTerminalLoader CLI 入口点
|
||||
*/
|
||||
@ConsoleExperimentalApi
|
||||
class MiraiConsoleImplementationTerminal
|
||||
open class MiraiConsoleImplementationTerminal
|
||||
@JvmOverloads constructor(
|
||||
override val rootPath: Path = Paths.get(System.getProperty("user.dir", ".")).toAbsolutePath(),
|
||||
final override val rootPath: Path = Paths.get(System.getProperty("user.dir", ".")).toAbsolutePath(),
|
||||
override val builtInPluginLoaders: List<Lazy<PluginLoader<*, *>>> = listOf(lazy { JvmPluginLoader }),
|
||||
override val frontEndDescription: MiraiConsoleFrontEndDescription = ConsoleFrontEndDescImpl,
|
||||
override val consoleCommandSender: MiraiConsoleImplementation.ConsoleCommandSenderImpl = ConsoleCommandSenderImplTerminal,
|
||||
|
@ -11,12 +11,37 @@ package net.mamoe.mirai.console.terminal
|
||||
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import net.mamoe.mirai.console.MiraiConsole
|
||||
import net.mamoe.mirai.console.extensions.BotConfigurationAlterer
|
||||
import net.mamoe.mirai.console.logging.LoggerController
|
||||
import net.mamoe.mirai.console.plugin.jvm.JvmPluginDescription
|
||||
import net.mamoe.mirai.console.plugin.jvm.KotlinPlugin
|
||||
import net.mamoe.mirai.utils.MiraiLogger
|
||||
import net.mamoe.mirai.utils.SimpleLogger
|
||||
import java.io.File
|
||||
|
||||
fun main() {
|
||||
configureUserDir()
|
||||
|
||||
MiraiConsoleTerminalLoader.startAsDaemon()
|
||||
val terminal = object : MiraiConsoleImplementationTerminal() {
|
||||
override val loggerController: LoggerController = object : LoggerController {
|
||||
override fun shouldLog(identity: String?, priority: SimpleLogger.LogPriority): Boolean = true
|
||||
}
|
||||
}
|
||||
|
||||
val mockPlugin = object : KotlinPlugin(JvmPluginDescription("org.test.test", "1.0.0")) {}
|
||||
|
||||
terminal.backendAccess.globalComponentStorage.contribute(
|
||||
BotConfigurationAlterer,
|
||||
mockPlugin,
|
||||
BotConfigurationAlterer { _, configuration ->
|
||||
configuration.networkLoggerSupplier = { MiraiLogger.create("Net.${it.id}") } // deploy
|
||||
configuration
|
||||
}
|
||||
)
|
||||
|
||||
MiraiConsoleTerminalLoader.startAsDaemon(terminal)
|
||||
|
||||
|
||||
runCatching { runBlocking { MiraiConsole.job.join() } }
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user