mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
logging
This commit is contained in:
@@ -10,6 +10,8 @@ apply plugin: 'kotlin'
|
||||
repositories { jcenter() }
|
||||
dependencies {
|
||||
compile "org.jetbrains.kotlin:kotlin-stdlib:1.0.+"
|
||||
compile "org.apache.logging.log4j:log4j-api:2.+"
|
||||
runtime "org.apache.logging.log4j:log4j-core:2.+"
|
||||
testCompile "junit:junit:4.+"
|
||||
testCompile "org.assertj:assertj-core:3.+"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration>
|
||||
|
||||
<Appenders>
|
||||
<Console name="STDOUT">
|
||||
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n"/>
|
||||
</Console>
|
||||
</Appenders>
|
||||
|
||||
<Loggers>
|
||||
<Root level="info">
|
||||
<AppenderRef ref="STDOUT"/>
|
||||
</Root>
|
||||
</Loggers>
|
||||
|
||||
</Configuration>
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.intellij.updater.mock
|
||||
|
||||
import com.sun.net.httpserver.HttpServer
|
||||
import org.apache.logging.log4j.LogManager
|
||||
import java.net.HttpURLConnection.*
|
||||
import java.net.InetSocketAddress
|
||||
import java.net.URI
|
||||
@@ -24,6 +25,7 @@ import java.time.format.DateTimeFormatter
|
||||
|
||||
class Server(private val port: Int, private val generator: Generator) {
|
||||
private val server = HttpServer.create()
|
||||
private val log = LogManager.getLogger(Server::class.java)
|
||||
private val buildFormat = "([A-Z]+)-([0-9.]+)".toRegex()
|
||||
private val tsFormat = DateTimeFormatter.ofPattern("dd/MMM/yyyy:kk:mm:ss ZZ")
|
||||
|
||||
@@ -35,18 +37,23 @@ class Server(private val port: Int, private val generator: Generator) {
|
||||
process(ex.requestMethod, ex.requestURI)
|
||||
}
|
||||
catch(e: Exception) {
|
||||
e.printStackTrace()
|
||||
log.error(e)
|
||||
Response(HTTP_INTERNAL_ERROR, "Internal error")
|
||||
}
|
||||
|
||||
val contentType = if (response.type.startsWith("text/")) response.type + "; charset=utf-8" else response.type
|
||||
ex.responseHeaders.add("Content-Type", contentType)
|
||||
ex.sendResponseHeaders(response.code, response.bytes.size.toLong())
|
||||
ex.responseBody.write(response.bytes)
|
||||
ex.close()
|
||||
try {
|
||||
val contentType = if (response.type.startsWith("text/")) "${response.type}; charset=utf-8" else response.type
|
||||
ex.responseHeaders.add("Content-Type", contentType)
|
||||
ex.sendResponseHeaders(response.code, response.bytes.size.toLong())
|
||||
ex.responseBody.write(response.bytes)
|
||||
ex.close()
|
||||
|
||||
println("${ex.remoteAddress.address.hostAddress} - - [${tsFormat.format(ZonedDateTime.now())}]" +
|
||||
" \"${ex.requestMethod} ${ex.requestURI}\" ${ex.responseCode} ${response.bytes.size}")
|
||||
log.info("${ex.remoteAddress.address.hostAddress} - - [${tsFormat.format(ZonedDateTime.now())}]" +
|
||||
" \"${ex.requestMethod} ${ex.requestURI}\" ${ex.responseCode} ${response.bytes.size}")
|
||||
}
|
||||
catch(e: Exception) {
|
||||
log.error(e)
|
||||
}
|
||||
}
|
||||
|
||||
server.start()
|
||||
|
||||
@@ -15,13 +15,24 @@
|
||||
*/
|
||||
package com.intellij.updater.mock
|
||||
|
||||
import org.apache.logging.log4j.LogManager
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
if (args.size != 1) {
|
||||
println("usage: java -jar update-server-mock.jar <port>")
|
||||
System.exit(1)
|
||||
}
|
||||
|
||||
val port = args[0].toInt()
|
||||
val generator = Generator()
|
||||
Server(port, generator).start()
|
||||
val log = LogManager.getLogger(Server::class.java)
|
||||
val port = args[0]
|
||||
try {
|
||||
log.info("starting the server on port '$port' ...")
|
||||
val generator = Generator()
|
||||
Server(port.toInt(), generator).start()
|
||||
log.info("ready")
|
||||
}
|
||||
catch(e: Exception) {
|
||||
log.error("failed to start the server", e)
|
||||
System.exit(2)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user