KLingo Project Documentation 1.0.0
Unreal Engine 5.6 C++ Project Documentation
로딩중...
검색중...
일치하는것 없음
NetworkLog.cpp
이 파일의 문서화 페이지로 가기
1// Copyright (c) 2025 Doppleddiggong. All rights reserved. Unauthorized copying, modification, or distribution of this file, via any medium is strictly prohibited. Proprietary and confidential.
2
7#include "NetworkLog.h"
8#include "HAL/FileManager.h"
9#include "Misc/Paths.h"
10#include "Misc/DateTime.h"
11
12// 로그 카테고리를 실제로 정의합니다.
13DEFINE_LOG_CATEGORY(LogCoffeeNetwork);
14
15// 로그 파일의 전체 경로를 저장하는 정적 변수입니다.
16static FString GLogFilePath;
17
22{
23 if (GLogFilePath.IsEmpty())
24 {
25 FString Timestamp = FDateTime::Now().ToString(TEXT("%Y-%m-%d_%H-%M-%S"));
26 FString LogDirectory = FPaths::ProjectSavedDir() / TEXT("NetworkLogs");
27 IFileManager::Get().MakeDirectory(*LogDirectory, true);
28 GLogFilePath = LogDirectory / FString::Printf(TEXT("NetworkLog_%s.log"), *Timestamp);
29
30 const FString StartMessage = FString::Printf(TEXT("--- Log session started at %s ---"), *FDateTime::Now().ToString());
31 FFileHelper::SaveStringToFile(StartMessage + TEXT("\n"), *GLogFilePath, FFileHelper::EEncodingOptions::ForceUTF8, &IFileManager::Get(), FILEWRITE_Append);
32 }
33}
34
39void WriteToGameLog(const FString& Message)
40{
41 // 로그 파일 경로가 설정되지 않았다면 초기화합니다.
42 if (GLogFilePath.IsEmpty())
43 {
45 }
46
47 // 현재 시간을 포함한 전체 로그 라인을 구성합니다.
48 FString LogLine = FString::Printf(TEXT("[%s] %s\n"), *FDateTime::Now().ToString(TEXT("%H:%M:%S")), *Message);
49
50 // 파일에 로그를 추가합니다.
51 FFileHelper::SaveStringToFile(LogLine, *GLogFilePath, FFileHelper::EEncodingOptions::ForceUTF8, &IFileManager::Get(), FILEWRITE_Append);
52}
static FString GLogFilePath
void InitializeLogFile()
로그 파일의 경로를 초기화하고 첫 로그 메시지를 기록합니다.
DEFINE_LOG_CATEGORY(LogCoffeeNetwork)
void WriteToGameLog(const FString &Message)
주어진 메시지를 로그 파일에 기록합니다.
YiSan 전반에서 사용하는 공용 인터페이스를 선언합니다.