Commit baa3e56d authored by Him188's avatar Him188

Merge remote-tracking branch 'origin/master'

parents 25b3b2b2 1437ad70
...@@ -11,10 +11,15 @@ package net.mamoe.mirai.api.http ...@@ -11,10 +11,15 @@ package net.mamoe.mirai.api.http
import io.ktor.application.Application import io.ktor.application.Application
import io.ktor.server.cio.CIO import io.ktor.server.cio.CIO
import io.ktor.server.engine.applicationEngineEnvironment
import io.ktor.server.engine.connector
import io.ktor.server.engine.embeddedServer import io.ktor.server.engine.embeddedServer
import io.ktor.util.KtorExperimentalAPI import io.ktor.util.KtorExperimentalAPI
import net.mamoe.mirai.api.http.route.mirai import net.mamoe.mirai.api.http.route.mirai
import net.mamoe.mirai.utils.DefaultLogger import net.mamoe.mirai.utils.DefaultLogger
import org.slf4j.LoggerFactory
import org.slf4j.helpers.NOPLogger
import org.slf4j.helpers.NOPLoggerFactory
object MiraiHttpAPIServer { object MiraiHttpAPIServer {
...@@ -39,7 +44,14 @@ object MiraiHttpAPIServer { ...@@ -39,7 +44,14 @@ object MiraiHttpAPIServer {
// TODO: start是无阻塞的,理应获取启动状态后再执行后续代码 // TODO: start是无阻塞的,理应获取启动状态后再执行后续代码
try { try {
embeddedServer(CIO, port, module = Application::mirai).start() embeddedServer(CIO, environment = applicationEngineEnvironment {
this.log = NOPLoggerFactory().getLogger("NMYSL")
this.module(Application::mirai)
connector {
this.port = port
}
}).start()
logger.info("Http api server is running with authKey: ${SessionManager.authKey}") logger.info("Http api server is running with authKey: ${SessionManager.authKey}")
callback?.invoke() callback?.invoke()
......
...@@ -35,11 +35,18 @@ import net.mamoe.mirai.api.http.data.common.DTO ...@@ -35,11 +35,18 @@ import net.mamoe.mirai.api.http.data.common.DTO
import net.mamoe.mirai.api.http.data.common.VerifyDTO import net.mamoe.mirai.api.http.data.common.VerifyDTO
import net.mamoe.mirai.api.http.util.jsonParseOrNull import net.mamoe.mirai.api.http.util.jsonParseOrNull
import net.mamoe.mirai.api.http.util.toJson import net.mamoe.mirai.api.http.util.toJson
import org.slf4j.Logger
import org.slf4j.helpers.NOPLogger
import org.slf4j.helpers.NOPLoggerFactory
import org.slf4j.impl.SimpleLogger
import org.slf4j.impl.SimpleLoggerFactory
fun Application.mirai() { fun Application.mirai() {
install(DefaultHeaders) install(DefaultHeaders)
install(CallLogging) install(CallLogging) {
logger = NOPLoggerFactory().getLogger("NMSL")
}
authModule() authModule()
messageModule() messageModule()
infoModule() infoModule()
......
...@@ -19,6 +19,7 @@ import net.mamoe.mirai.api.http.generateSessionKey ...@@ -19,6 +19,7 @@ import net.mamoe.mirai.api.http.generateSessionKey
import net.mamoe.mirai.contact.sendMessage import net.mamoe.mirai.contact.sendMessage
import net.mamoe.mirai.utils.MiraiLogger import net.mamoe.mirai.utils.MiraiLogger
import java.io.File import java.io.File
import java.io.PrintStream
import kotlin.concurrent.thread import kotlin.concurrent.thread
object MiraiConsole { object MiraiConsole {
...@@ -37,8 +38,7 @@ object MiraiConsole { ...@@ -37,8 +38,7 @@ object MiraiConsole {
val pluginManager: PluginManager val pluginManager: PluginManager
get() = PluginManager get() = PluginManager
var logger: MiraiConsoleLogger = var logger = UIPushLogger(0)
UIPushLogger()
var path: String = System.getProperty("user.dir") var path: String = System.getProperty("user.dir")
...@@ -255,11 +255,11 @@ object MiraiConsole { ...@@ -255,11 +255,11 @@ object MiraiConsole {
} }
} }
class UIPushLogger(override val identity: String?, override var follower: MiraiLogger?) : MiraiLogger { class UIPushLogger(val identity: Long) {
override fun invoke(any: Any?) { operator fun invoke(any: Any? = null) {
MiraiConsoleUI.start() MiraiConsoleUI.start()
if (any != null) { if (any != null) {
MiraiConsoleUI.pushLog(0, "[Mirai$version $build]: $any") MiraiConsoleUI.pushLog(identity, "[Mirai$version $build]: $any")
} }
} }
} }
...@@ -281,6 +281,7 @@ class MiraiConsoleLoader { ...@@ -281,6 +281,7 @@ class MiraiConsoleLoader {
companion object { companion object {
@JvmStatic @JvmStatic
fun main(args: Array<String>) { fun main(args: Array<String>) {
MiraiConsole.start() MiraiConsole.start()
Runtime.getRuntime().addShutdownHook(thread(start = false) { Runtime.getRuntime().addShutdownHook(thread(start = false) {
MiraiConsole.stop() MiraiConsole.stop()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment