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-07-17 21:16:17 +02:00
private val log : Logger by lazy {
2019-06-08 11:07:52 +02:00
val log = Logger . getGlobal ( )
val fh = FileHandler ( " kagebot.log " , true )
val formatter = LogFormatter ( )
fh . formatter = formatter
log . addHandler ( fh )
return @lazy log
}
2019-07-17 21:16:17 +02:00
fun info ( message : String ) {
log . info ( message )
}
fun warn ( message : String ) {
log . warning ( message )
}
2019-06-08 11:07:52 +02:00
}
private class LogFormatter : Formatter ( ) {
private val timeFormatter : DateTimeFormatter =
2019-07-13 14:52:05 +02:00
DateTimeFormatter . ofPattern ( " yyyy-MM-dd HH:mm:ss " ) . withZone ( ZoneId . systemDefault ( ) )
2019-06-08 11:07:52 +02: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
}