using System; using Microsoft.Build.Framework; namespace AggregateConfigBuildTask { /// /// Interface for task logging helper methods. /// public interface ITaskLogger { /// /// Logs an error message. /// /// The error message to log. /// Optional arguments for formatting the message. void LogError(string message = null, params object[] messageArgs); /// /// Logs an error message from an exception. /// /// The exception to log. /// Indicates whether to show the stack trace. /// Indicates whether to show detailed information. /// The file where the exception occurred. void LogErrorFromException(Exception exception, bool showStackTrace = false, bool showDetail = false, string file = null); /// /// Logs a warning message. /// /// The warning message to log. /// Optional arguments for formatting the message. void LogWarning(string message = null, params object[] messageArgs); /// /// Logs a warning message with additional parameters. /// /// The subcategory of the warning. /// The warning code. /// The help keyword associated with the warning. /// The file in which the warning occurred. /// The line number where the warning occurred. /// The column number where the warning occurred. /// The end line number of the warning. /// The end column number of the warning. /// The warning message to log. /// Optional arguments for formatting the message. void LogWarning( string subcategory = null, string warningCode = null, string helpKeyword = null, string file = null, int lineNumber = 0, int columnNumber = 0, int endLineNumber = 0, int endColumnNumber = 0, string message = null, params object[] messageArgs); /// /// Logs a message with specified importance. /// /// The importance level of the message. /// The message to log. /// Optional arguments for formatting the message. void LogMessage(MessageImportance importance = MessageImportance.Normal, string message = null, params object[] messageArgs); } }