25 lines
698 B
C#
25 lines
698 B
C#
using System.Threading.Tasks;
|
|
using NLog;
|
|
|
|
namespace NzbDrone.Common.TPL
|
|
{
|
|
public static class TaskExtensions
|
|
{
|
|
private static readonly Logger Logger = LogManager.GetLogger("TaskExtensions");
|
|
|
|
public static Task LogExceptions(this Task task)
|
|
{
|
|
task.ContinueWith(t =>
|
|
{
|
|
var aggregateException = t.Exception.Flatten();
|
|
foreach (var exception in aggregateException.InnerExceptions)
|
|
{
|
|
Logger.ErrorException("Task Error", exception);
|
|
}
|
|
|
|
}, TaskContinuationOptions.OnlyOnFaulted);
|
|
|
|
return task;
|
|
}
|
|
}
|
|
} |