All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.pronghorn.logging.BootstrapLogger.kt Maven / Gradle / Ivy

There is a newer version: 0.2.1
Show newest version
/*
 * Copyright 2017 Pronghorn Technology LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package tech.pronghorn.logging

import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter

internal class BootstrapLogger(override val name: String) : Logger() {
    override val isTraceEnabled: Boolean = false
    override val isDebugEnabled: Boolean = false
    override val isInfoEnabled: Boolean = false
    override val isWarnEnabled: Boolean = true
    override val isErrorEnabled: Boolean = true

    private val gmt = ZoneId.of("GMT")

    private fun getFormattedDate(): String = DateTimeFormatter.RFC_1123_DATE_TIME.format(ZonedDateTime.now(gmt))
    private fun getFormattedMessage(level: String,
                                    message: String): String = "${getFormattedDate()} $level $name - $message"

    override fun traceImpl(message: String) = Unit
    override fun debugImpl(message: String) = Unit
    override fun infoImpl(message: String) = Unit
    override fun warnImpl(message: String) = System.out.println(getFormattedMessage("WARN", message))
    override fun errorImpl(message: String) = System.out.println(getFormattedMessage("ERROR", message))
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy