17ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu/** 27ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * Copyright (c) 2004-2011 QOS.ch 388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * All rights reserved. 47ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * Permission is hereby granted, free of charge, to any person obtaining 688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * a copy of this software and associated documentation files (the 788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * "Software"), to deal in the Software without restriction, including 888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * without limitation the rights to use, copy, modify, merge, publish, 988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * distribute, sublicense, and/or sell copies of the Software, and to 1088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * permit persons to whom the Software is furnished to do so, subject to 1188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * the following conditions: 127ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 1388c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * The above copyright notice and this permission notice shall be 1488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * included in all copies or substantial portions of the Software. 157ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 1688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 1788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 1888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 1988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 2088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 2188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 2288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 237ba0605dc97fb81bde8311510d27b3ccba170008Ceki Gulcu * 2488c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu */ 2588c4c456766193e012eb890e2208473d99b91f83Ceki Gulcupackage org.slf4j.spi; 2688c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 2788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuimport org.slf4j.Logger; 2888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcuimport org.slf4j.Marker; 2988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 3088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu/** 319f10490a05f7344f4b3ef657e8991f5d51934e2fCeki Gulcu * An <b>optional</b> interface helping integration with logging systems capable of 3288c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * extracting location information. This interface is mainly used by SLF4J bridges 33ccd1c8355b9ed6c77b375d7efd459416f10fb62eCeki Gulcu * such as jcl-over-slf4j, jul-to-slf4j and log4j-over-slf4j or {@link Logger} wrappers 34ccd1c8355b9ed6c77b375d7efd459416f10fb62eCeki Gulcu * which need to provide hints so that the underlying logging system can extract 35ccd1c8355b9ed6c77b375d7efd459416f10fb62eCeki Gulcu * the correct location information (method name, line number). 36ccd1c8355b9ed6c77b375d7efd459416f10fb62eCeki Gulcu * 3788c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * @author Ceki Gulcu 3888c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu * @since 1.3 3988c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu */ 4088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcupublic interface LocationAwareLogger extends Logger { 4188c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu 4231212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu final public int TRACE_INT = 00; 4331212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu final public int DEBUG_INT = 10; 4431212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu final public int INFO_INT = 20; 4531212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu final public int WARN_INT = 30; 4631212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu final public int ERROR_INT = 40; 4731212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu 4831212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu /** 4931212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * Printing method with support for location information. 5031212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * 5131212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * @param marker The marker to be used for this event, may be null. 5231212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * @param fqcn The fully qualified class name of the <b>logger instance</b>, 5331212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * typically the logger class, logger bridge or a logger wrapper. 5431212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * @param level One of the level integers defined in this interface 5531212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * @param message The message for the log event 5631212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu * @param t Throwable associated with the log event, may be null. 5731212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu */ 5831212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu public void log(Marker marker, String fqcn, int level, String message, Object[] argArray, Throwable t); 5931212435723e2dfd5d6716d1f6a7b0e66a1e6b38Ceki Gulcu 6088c4c456766193e012eb890e2208473d99b91f83Ceki Gulcu} 61