UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OutputDeviceDebug.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
7#include "Misc/OutputDevice.h"
8#include "UObject/NameTypes.h"
9
10#include <atomic>
11
13{
14public:
21 CORE_API virtual void Serialize(const TCHAR* Data, ELogVerbosity::Type Verbosity, const FName& Category, double Time) override;
22
23 CORE_API virtual void Serialize(const TCHAR* Data, ELogVerbosity::Type Verbosity, const FName& Category) override;
24
25 CORE_API virtual void SerializeRecord(const UE::FLogRecord& Record) override;
26
27 virtual bool CanBeUsedOnAnyThread() const override
28 {
29 return true;
30 }
31
32 CORE_API virtual bool CanBeUsedOnMultipleThreads() const override;
33
34 virtual bool CanBeUsedOnPanicThread() const override
35 {
36 return true;
37 }
38
39private:
40 CORE_API void ConditionalTickAsync(double Time);
41 CORE_API void TickAsync();
42
43 std::atomic<double> LastTickTime = 0.0;
44 std::atomic<bool> bSerializeAsJson = false;
45};
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NameTypes.h:617
Definition OutputDeviceDebug.h:13
virtual CORE_API void SerializeRecord(const UE::FLogRecord &Record) override
Definition OutputDeviceDebug.cpp:67
virtual bool CanBeUsedOnAnyThread() const override
Definition OutputDeviceDebug.h:27
virtual CORE_API bool CanBeUsedOnMultipleThreads() const override
Definition OutputDeviceDebug.cpp:126
virtual bool CanBeUsedOnPanicThread() const override
Definition OutputDeviceDebug.h:34
Definition OutputDevice.h:133
Definition StructuredLog.h:182
Type
Definition LogVerbosity.h:17