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

com.cookingfox.logging.adapter.SystemOutLoggerAdapter Maven / Gradle / Ivy

package com.cookingfox.logging.adapter;

import com.cookingfox.logging.Level;
import com.cookingfox.logging.api.Entry;
import com.cookingfox.logging.api.LoggerAdapter;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Log adapter implementation using System.out.println.
 */
public class SystemOutLoggerAdapter implements LoggerAdapter {

    //----------------------------------------------------------------------------------------------
    // PRIVATE PROPERTIES
    //----------------------------------------------------------------------------------------------

    /**
     * Date format to use for log message.
     */
    private final SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd HH:mm:ss.SSS");

    //----------------------------------------------------------------------------------------------
    // PUBLIC METHODS
    //----------------------------------------------------------------------------------------------

    @Override
    public void debug(Entry entry) {
        log(Level.DEBUG, entry);
    }

    @Override
    public void error(Entry entry) {
        log(Level.ERROR, entry);
    }

    @Override
    public void info(Entry entry) {
        log(Level.INFO, entry);
    }

    @Override
    public void verbose(Entry entry) {
        log(Level.VERBOSE, entry);
    }

    @Override
    public void warn(Entry entry) {
        log(Level.WARN, entry);
    }

    //----------------------------------------------------------------------------------------------
    // PRIVATE METHODS
    //----------------------------------------------------------------------------------------------

    /**
     * Output log message using System.out.println.
     *
     * @param level The logging level.
     * @param entry The log entry.
     */
    private void log(Level level, Entry entry) {
        // use first character of level name
        String levelId = level.toString().substring(0, 1);

        System.out.println(dateFormat.format(new Date()) + " " + levelId + "/" +
                entry.getCaller() + " : " + entry.getMessage());
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy