using System;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
namespace AggregateConfigBuildTask
{
///
public class TaskLogger : ITaskLogger
{
///
/// Gets the underlying TaskLoggingHelper.
///
public TaskLoggingHelper Log { get; }
///
/// Initializes a new instance of the class.
///
/// The task that will be used for logging.
public TaskLogger(TaskLoggingHelper task)
{
Log = task ?? throw new ArgumentNullException(nameof(task));
}
///
public void LogError(string message = null, params object[] messageArgs)
{
Log.LogError(message ?? "Unknown Error", messageArgs);
}
///
public void LogErrorFromException(Exception exception,
bool showStackTrace = false,
bool showDetail = false,
string file = null)
{
Log.LogErrorFromException(exception, showStackTrace, showDetail, file);
}
///
public void LogWarning(string message = null, params object[] messageArgs)
{
Log.LogWarning(message, messageArgs);
}
///
public 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)
{
Log.LogWarning(
subcategory,
warningCode,
helpKeyword,
file,
lineNumber,
columnNumber,
endLineNumber,
endColumnNumber,
message,
messageArgs);
}
///
public void LogMessage(MessageImportance importance = MessageImportance.Normal, string message = null, params object[] messageArgs)
{
Log.LogMessage(importance, message, messageArgs);
}
}
}