Files
UnrealEngineUWP/Engine/Source/Programs/BuildAgent/Run/Matchers/LogChannelErrorMatcher.cs
Ryan Durand 9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00

46 lines
1.1 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using BuildAgent.Run;
using BuildAgent.Run.Interfaces;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace BuildAgent.Matchers
{
[AutoRegister]
class LogChannelErrorMatcher : IErrorMatcher
{
public ErrorMatch Match(ReadOnlyLineBuffer Input)
{
Match Match;
if(Input.TryMatch(@"^(\s*)([a-zA-Z_][a-zA-Z0-9_]*):\s*(Error|Warning|Display): ", out Match))
{
int MaxOffset = Input.MatchForwards(0, String.Format(@"^({0} | *$)", Match.Groups[1].Value));
ErrorSeverity Severity;
switch(Match.Groups[3].Value)
{
case "Error":
Severity = ErrorSeverity.Error;
break;
case "Warning":
Severity = ErrorSeverity.Warning;
break;
default:
Severity = ErrorSeverity.Silent;
break;
}
ErrorMatch Error = new ErrorMatch(Severity, ErrorPriority.Low, "Log", Input, 0, MaxOffset);
Error.Properties["Channel"] = Match.Groups[2].Value;
return Error;
}
return null;
}
}
}