zworld-em/Plugins/sentry-unreal/Source/Sentry/Private/SentryBeforeSendHandler.cpp
2025-05-11 22:07:21 +08:00

38 lines
1017 B
C++

// Copyright (c) 2023 Sentry. All Rights Reserved.
#include "SentryBeforeSendHandler.h"
#include "SentryModule.h"
#include "SentrySettings.h"
#include "SentryEvent.h"
#include "SentryHint.h"
#include "SentryAttachment.h"
#include "Utils/SentryFileUtils.h"
#include "Misc/Paths.h"
USentryEvent* USentryBeforeSendHandler::HandleBeforeSend_Implementation(USentryEvent* Event, USentryHint* Hint)
{
const USentrySettings* Settings = FSentryModule::Get().GetSettings();
if(Settings->EnableAutoLogAttachment)
{
#if PLATFORM_ANDROID || PLATFORM_APPLE
const FString LogFilePath = Event->IsCrash() ? SentryFileUtils::GetGameLogBackupPath() : SentryFileUtils::GetGameLogPath();
#else
const FString LogFilePath = SentryFileUtils::GetGameLogPath();
#endif
USentryAttachment* Attachment = NewObject<USentryAttachment>();
Attachment->InitializeWithPath(LogFilePath, FPaths::GetCleanFilename(LogFilePath), TEXT("text/plain"));
if(Hint != nullptr)
{
Hint->AddAttachment(Attachment);
}
}
return Event;
}