2019-06-08 11:07:52 +02:00
package moe.kageru.kagebot
import java.time.ZoneId
import java.time.format.DateTimeFormatter
2019-07-13 14:52:05 +02:00
import java.util.logging.FileHandler
import java.util.logging.Formatter
import java.util.logging.LogRecord
import java.util.logging.Logger
2019-06-08 11:07:52 +02:00
object Log {
2019-11-14 15:10:30 +01:00
private val log : Logger by lazy {
Logger . getGlobal ( ) . apply {
addHandler (
FileHandler ( " kagebot.log " , true ) . apply {
formatter = LogFormatter ( )
2019-11-11 18:10:28 +01:00
}
2019-11-14 15:10:30 +01:00
)
2019-06-08 11:07:52 +02:00
}
2019-11-14 15:10:30 +01:00
}
2019-07-17 21:16:17 +02:00
2019-11-14 15:10:30 +01:00
fun info ( message : String ) {
log . info ( message )
}
2019-07-17 21:16:17 +02:00
2019-11-14 15:10:30 +01:00
fun warn ( message : String ) {
log . warning ( message )
}
2019-06-08 11:07:52 +02:00
}
private class LogFormatter : Formatter ( ) {
2019-11-14 15:10:30 +01:00
private val timeFormatter : DateTimeFormatter =
DateTimeFormatter . ofPattern ( " yyyy-MM-dd HH:mm:ss " ) . withZone ( ZoneId . systemDefault ( ) )
2019-06-08 11:07:52 +02:00
2019-11-14 15:10:30 +01:00
override fun format ( record : LogRecord ) : String {
return " [ ${record.level} ] ${timeFormatter.format(record.instant)} : ${record.message} \n "
}
2019-07-13 14:52:05 +02:00
}