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
import io.ktor.application.Application
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.util.KtorExperimentalAPI
import net.mamoe.mirai.api.http.route.mirai
import net.mamoe.mirai.utils.DefaultLogger
import org.slf4j.LoggerFactory
import org.slf4j.helpers.NOPLogger
import org.slf4j.helpers.NOPLoggerFactory
object MiraiHttpAPIServer {
......@@ -39,7 +44,14 @@ object MiraiHttpAPIServer {
// TODO: start是无阻塞的,理应获取启动状态后再执行后续代码
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}")
callback?.invoke()
......
......@@ -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.util.jsonParseOrNull
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() {
install(DefaultHeaders)
install(CallLogging)
install(CallLogging) {
logger = NOPLoggerFactory().getLogger("NMSL")
}
authModule()
messageModule()
infoModule()
......
......@@ -19,6 +19,7 @@ import net.mamoe.mirai.api.http.generateSessionKey
import net.mamoe.mirai.contact.sendMessage
import net.mamoe.mirai.utils.MiraiLogger
import java.io.File
import java.io.PrintStream
import kotlin.concurrent.thread
object MiraiConsole {
......@@ -37,8 +38,7 @@ object MiraiConsole {
val pluginManager: PluginManager
get() = PluginManager
var logger: MiraiConsoleLogger =
UIPushLogger()
var logger = UIPushLogger(0)
var path: String = System.getProperty("user.dir")
......@@ -255,11 +255,11 @@ object MiraiConsole {
}
}
class UIPushLogger(override val identity: String?, override var follower: MiraiLogger?) : MiraiLogger {
override fun invoke(any: Any?) {
class UIPushLogger(val identity: Long) {
operator fun invoke(any: Any? = null) {
MiraiConsoleUI.start()
if (any != null) {
MiraiConsoleUI.pushLog(0, "[Mirai$version $build]: $any")
MiraiConsoleUI.pushLog(identity, "[Mirai$version $build]: $any")
}
}
}
......@@ -281,6 +281,7 @@ class MiraiConsoleLoader {
companion object {
@JvmStatic
fun main(args: Array<String>) {
MiraiConsole.start()
Runtime.getRuntime().addShutdownHook(thread(start = false) {
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