Skip to content

Instantly share code, notes, and snippets.

@scalactic
Last active September 26, 2021 09:00
Show Gist options
  • Save scalactic/afe9a2079e607188b2e64a3b79dbb5ff to your computer and use it in GitHub Desktop.
Save scalactic/afe9a2079e607188b2e64a3b79dbb5ff to your computer and use it in GitHub Desktop.
Simple Java Logger
import java.sql.Timestamp
import java.util.logging.{ConsoleHandler, Formatter, Level, LogRecord, Logger}
trait ILogging {
private def setupLogger(level: Level): Logger = {
object SimpleFormatter extends Formatter {
override def format(record: LogRecord): String =
s"[${new Timestamp(record.getMillis)}] [${record.getLevel}] [${record.getLoggerName}] ${record.getMessage} \n"
}
val logger: Logger = Logger.getLogger(this.getClass.getName)
val handler = new ConsoleHandler
handler.setFormatter(SimpleFormatter)
logger.setUseParentHandlers(false)
logger.addHandler(handler)
logger.setLevel(level)
logger
}
protected final val logger = setupLogger(Level.INFO)
}
import java.sql.Timestamp
import java.util.Calendar
import java.text.SimpleDateFormat
import java.util.logging.{ConsoleHandler, Formatter, Level, LogRecord, Logger}
def setupLogger(level:Level):Logger = {
object SimpleFormatter extends Formatter {
override def format(record:LogRecord):String =
s"[${record.getLevel}] [${record.getLoggerName}] [${new Timestamp(record.getMillis)}] ${record.getMessage} \n"
}
val logger: Logger = Logger.getLogger(this.getClass.getName)
val handler = new ConsoleHandler
handler.setFormatter(SimpleFormatter)
logger.setUseParentHandlers(false)
logger.addHandler(handler)
logger.setLevel(level)
logger
}
val logger = setupLogger(Level.INFO)
logger.info("simple")
object Main extends App with ILogging {
logger.info("logging")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment