Lots of refactors related to BreakToDebugger and FormatLogMessage
This commit is contained in:
@@ -108,7 +108,7 @@ void UK2Node_FormatMessage::CreateCorrectPins()
|
||||
if (IsFormatErrorMessage())
|
||||
{
|
||||
if (FindPin(VerbosityPinName, EGPD_Input) == nullptr) {
|
||||
UEdGraphPin *P = CreatePin(EGPD_Input, UEdGraphSchema_K2::PC_Byte, StaticEnum<ElxLogVerbosity>(), VerbosityPinName);
|
||||
UEdGraphPin *P = CreatePin(EGPD_Input, UEdGraphSchema_K2::PC_Byte, StaticEnum<ElxFormatLogVerbosity>(), VerbosityPinName);
|
||||
P->DefaultValue = TEXT("Error");
|
||||
P->AutogeneratedDefaultValue = P->DefaultValue;
|
||||
}
|
||||
@@ -573,13 +573,27 @@ UK2Node_FormatLogMessage::UK2Node_FormatLogMessage(const FObjectInitializer& Obj
|
||||
);
|
||||
}
|
||||
|
||||
void UK2Node_FormatMessage::FormatLogMessageInternal(UObject *Context, ElxLogVerbosity Verbosity, const FString &InPattern, TArray<FFormatArgumentData> InArgs)
|
||||
ELogVerbosity::Type UK2Node_FormatMessage::ConvertElxFormatLogVerbosity(ElxFormatLogVerbosity Verbosity) {
|
||||
switch (Verbosity) {
|
||||
case ElxFormatLogVerbosity::Error: return ELogVerbosity::Error;
|
||||
case ElxFormatLogVerbosity::Warning: return ELogVerbosity::Warning;
|
||||
case ElxFormatLogVerbosity::Display: return ELogVerbosity::Display;
|
||||
case ElxFormatLogVerbosity::Log: return ELogVerbosity::Log;
|
||||
case ElxFormatLogVerbosity::ThrottledDisplay: return ELogVerbosity::Display;
|
||||
case ElxFormatLogVerbosity::ThrottledLog: return ELogVerbosity::Log;
|
||||
case ElxFormatLogVerbosity::Verbose: return ELogVerbosity::Verbose;
|
||||
case ElxFormatLogVerbosity::VeryVerbose: return ELogVerbosity::VeryVerbose;
|
||||
case ElxFormatLogVerbosity::Fatal: return ELogVerbosity::Fatal;
|
||||
}
|
||||
}
|
||||
|
||||
void UK2Node_FormatMessage::FormatLogMessageInternal(UObject *Context, ElxFormatLogVerbosity Verbosity, const FString &InPattern, TArray<FFormatArgumentData> InArgs)
|
||||
{
|
||||
// For throttled verbosity levels, suppress repeated messages with the
|
||||
// same format pattern. We key on the blueprint name + format pattern,
|
||||
// and allow at most one message per second per key.
|
||||
//
|
||||
if (Verbosity == ElxLogVerbosity::ThrottledDisplay || Verbosity == ElxLogVerbosity::ThrottledLog)
|
||||
if (Verbosity == ElxFormatLogVerbosity::ThrottledDisplay || Verbosity == ElxFormatLogVerbosity::ThrottledLog)
|
||||
{
|
||||
static TMap<FString, double> LastLogTime;
|
||||
double Now = FPlatformTime::Seconds();
|
||||
@@ -618,7 +632,7 @@ void UK2Node_FormatMessage::FormatLogMessageInternal(UObject *Context, ElxLogVer
|
||||
|
||||
// Output to Log
|
||||
//
|
||||
ELogVerbosity::Type VerbosityValue = UlxBlueprintErrorLibrary::ConvertElxLogVerbosity(Verbosity);
|
||||
ELogVerbosity::Type VerbosityValue = ConvertElxFormatLogVerbosity(Verbosity);
|
||||
if (VerbosityValue <= ELogVerbosity::COMPILED_IN_MINIMUM_VERBOSITY)
|
||||
{
|
||||
FMsg::Logf(BlueprintNameAnsi.Get(), 0, BlueprintNameLogCategory, VerbosityValue, TEXT("%s"), *MessageString);
|
||||
|
||||
Reference in New Issue
Block a user