38 lines
		
	
	
		
			1017 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			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;
							 | 
						||
| 
								 | 
							
								}
							 |