/* Copyright 2011 Google Inc 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. */ using System; namespace Google.Apis.Logging { /// Describes a logging interface which is used for outputting messages. public interface ILogger { /// Gets an indication whether debug output is logged or not. bool IsDebugEnabled { get; } /// Returns a logger which will be associated with the specified type. /// Type to which this logger belongs. /// A type-associated logger. ILogger ForType(Type type); /// Returns a logger which will be associated with the specified type. /// A type-associated logger. ILogger ForType(); /// Logs a debug message. /// The message to log. /// String.Format arguments (if applicable). void Debug(string message, params object[] formatArgs); /// Logs an info message. /// The message to log. /// String.Format arguments (if applicable). void Info(string message, params object[] formatArgs); /// Logs a warning. /// The message to log. /// String.Format arguments (if applicable). void Warning(string message, params object[] formatArgs); /// Logs an error message resulting from an exception. /// /// The message to log. /// String.Format arguments (if applicable). void Error(Exception exception, string message, params object[] formatArgs); /// Logs an error message. /// The message to log. /// String.Format arguments (if applicable). void Error(string message, params object[] formatArgs); } }