001package com.hammurapi.common.concurrent; 002 003import java.util.logging.Level; 004import java.util.logging.LogRecord; 005 006/** 007 * Logger for concurrent/distributed operations where logging along the execution path 008 * is more convenient than traditional class-based logging. 009 * This interface was created to mimic essential functionality of java.util.Logger class. 010 * @author Pavel Vlasov 011 * 012 */ 013public interface Logger { 014 015 void fine(String msg); 016 void finer(String msg); 017 void finest(String msg); 018 void info(String msg); 019 void severe(String msg); 020 void warning(String msg); 021 022 void log(Level level, String msg); 023 void log(Level level, String msg, Object param1); 024 void log(Level level, String msg, Object params[]); 025 void log(Level level, String msg, Throwable thrown); 026 027 void log(LogRecord record); 028 029 /** 030 * Returns a sub-logger of a given logger. 031 * @param name Sub-logger name. 032 * @return 033 */ 034 Logger getLogger(String name); 035 036 boolean isLoggable(Level level); 037 038}