LogLifePlay + ULPSessionLogSubsystem (sans modification de Blueprint) : resume de demarrage (versions, modules, fichiers par type) et bilan de session (signatures d'erreurs dedoublonnees avec pile d'appel, commande console LifePlay.LogSummary). ModdingExtra : LogLPModdingTrace -> LogModdingExtra en Verbose (format conserve pour l'A/B 4.27), echec de LoadTxt signale une fois, echec de SaveTxt signale. Tests : editeur et jeu compilent sans avertissement ; session -game : 58 lignes LogLifePlay, 0 ligne de trace au niveau par defaut ; A/B de format avec la build 4.27 Development ; T-STAT-02..04 au vert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
// Portage UE 5.5 - lot L3 (journalisation). Voir Docs/Migration/04_Cahier_Des_Charges.md.
|
|
//
|
|
// Sous-systeme d'instance de jeu : cree et detruit avec GI, sans aucune modification de
|
|
// Blueprint. Il n'altere aucun message existant (les comparaisons A/B avec la build 4.27
|
|
// reposent sur ces messages) ; il AJOUTE :
|
|
// - au demarrage, un resume : versions, modules de donnees presents, fichiers par type ;
|
|
// - en fin de session, un bilan : volume de journal par categorie et verbosite, et les
|
|
// signatures d'avertissements/erreurs les plus frequentes, dedoublonnees.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Subsystems/GameInstanceSubsystem.h"
|
|
#include "LPSessionLogSubsystem.generated.h"
|
|
|
|
class FLPLogCounter;
|
|
|
|
UCLASS()
|
|
class LIFEPLAY_API ULPSessionLogSubsystem : public UGameInstanceSubsystem
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
virtual void Initialize(FSubsystemCollectionBase& Collection) override;
|
|
virtual void Deinitialize() override;
|
|
|
|
/** Ecrit le bilan courant sans attendre la fin de session (console : LifePlay.LogSummary). */
|
|
UFUNCTION(BlueprintCallable, Category = "LifePlay|Log")
|
|
void LogSessionSummary() const;
|
|
|
|
private:
|
|
void LogStartupSummary() const;
|
|
|
|
TSharedPtr<FLPLogCounter> Counter;
|
|
double StartTime = 0.0;
|
|
};
|