24#define UE_API CORE_API
46#define UE_LOGFMT(CategoryName, Verbosity, Format, ...) UE_PRIVATE_LOGFMT_CALL(UE_LOGFMT_EX, (CategoryName, Verbosity, Format UE_PRIVATE_LOGFMT_FIELDS(__VA_ARGS__)))
49#define UE_CLOGFMT(Condition, CategoryName, Verbosity, Format, ...) UE_PRIVATE_LOGFMT_CALL(UE_CLOGFMT_EX, (Condition, CategoryName, Verbosity, Format UE_PRIVATE_LOGFMT_FIELDS(__VA_ARGS__)))
64#define UE_LOGFMT_EX(CategoryName, Verbosity, Format, ...) UE_PRIVATE_LOGFMT(UE_EMPTY, CategoryName, Verbosity, Format, ##__VA_ARGS__)
67#define UE_CLOGFMT_EX(Condition, CategoryName, Verbosity, Format, ...) UE_PRIVATE_LOGFMT(if (Condition), CategoryName, Verbosity, Format, ##__VA_ARGS__)
87#define UE_LOGFMT_LOC(CategoryName, Verbosity, Key, Format, ...) \
88 UE_LOGFMT_NSLOC(CategoryName, Verbosity, LOCTEXT_NAMESPACE, Key, Format, ##__VA_ARGS__)
89#define UE_LOGFMT_NSLOC(CategoryName, Verbosity, Namespace, Key, Format, ...) \
90 UE_PRIVATE_LOGFMT_CALL(UE_LOGFMT_NSLOC_EX, (CategoryName, Verbosity, Namespace, Key, Format UE_PRIVATE_LOGFMT_FIELDS(__VA_ARGS__)))
93#define UE_CLOGFMT_LOC(Condition, CategoryName, Verbosity, Key, Format, ...) \
94 UE_CLOGFMT_NSLOC(Condition, CategoryName, Verbosity, LOCTEXT_NAMESPACE, Key, Format, ##__VA_ARGS__)
95#define UE_CLOGFMT_NSLOC(Condition, CategoryName, Verbosity, Namespace, Key, Format, ...) \
96 UE_PRIVATE_LOGFMT_CALL(UE_CLOGFMT_NSLOC_EX, (Condition, CategoryName, Verbosity, Namespace, Key, Format UE_PRIVATE_LOGFMT_FIELDS(__VA_ARGS__)))
108#define UE_LOGFMT_LOC_EX(CategoryName, Verbosity, Key, Format, ...) \
109 UE_LOGFMT_NSLOC_EX(CategoryName, Verbosity, LOCTEXT_NAMESPACE, Key, Format, ##__VA_ARGS__)
110#define UE_LOGFMT_NSLOC_EX(CategoryName, Verbosity, Namespace, Key, Format, ...) \
111 UE_PRIVATE_LOGFMT_LOC(UE_EMPTY, CategoryName, Verbosity, Namespace, Key, Format, ##__VA_ARGS__)
114#define UE_CLOGFMT_LOC_EX(Condition, CategoryName, Verbosity, Key, Format, ...) \
115 UE_CLOGFMT_NSLOC_EX(Condition, CategoryName, Verbosity, LOCTEXT_NAMESPACE, Key, Format, ##__VA_ARGS__)
116#define UE_CLOGFMT_NSLOC_EX(Condition, CategoryName, Verbosity, Namespace, Key, Format, ...) \
117 UE_PRIVATE_LOGFMT_LOC(if (Condition), CategoryName, Verbosity, Namespace, Key, Format, ##__VA_ARGS__)
120#define UE_LOGFMT_FIELD(Name, Value) UE_PRIVATE_LOGFMT_FIELD((Name, Value))
123#define UE_LOGFMT_VALUE(Value) Value
143#define UE_LOG_CONTEXT(Name, ...) ::UE::Logging::Private::FLogContext ANONYMOUS_VARIABLE(LogContext_)(Name, ##__VA_ARGS__)
147#define UE_LOG_CONTEXT(...)
244 const TCHAR* Format =
nullptr;
251 const FLogTemplate* Template =
nullptr;
252 const TCHAR* TextNamespace =
nullptr;
253 const TCHAR* TextKey =
nullptr;
265UE_API void DispatchDynamicLogRecord(
const FLogRecord& Record);
289template <
typename ValueType UE_REQUIRES(TModels_V<CInsertable<FCbWriter&>, ValueType>)>
292 Writer << (ValueType&&)
Value;
298 template <
typename ValueType>
305template <
typename ValueType UE_REQUIRES(TModels_V<CSerializableForLog, ValueType>)>
313template <
typename ValueType UE_REQUIRES(TModels_V<UE::CSerializableForLog, ValueType>)>
353 #if UE_LOG_INCLUDE_SOURCE_LOCATION
386 #if UE_LOG_INCLUDE_SOURCE_LOCATION
404 template <
typename ValueType>
424template <
typename NameType>
431template <
typename NameType>
454 template <
typename ValueType,
typename...
FieldArgTypes, std::enable_if_t<ValueCount<ValueType>>* =
nullptr>
457 new(Fields)
FLogField{
nullptr, &
Value, FLogField::Write<ValueType>};
464 new(Fields)
FLogField{Name.Name, &
Value, FLogField::Write<ValueType>};
473 if constexpr (
sizeof...(FieldArgTypes) == 0)
475 LogWithNoFields(Category,
Log);
480 static_assert(FieldCount > 0);
483 LogWithFieldArray(Category,
Log, Fields, FieldCount);
491 if constexpr (
sizeof...(FieldArgTypes) == 0)
493 FatalLogWithNoFields(Category,
Log);
498 static_assert(FieldCount > 0);
501 FatalLogWithFieldArray(Category,
Log, Fields, FieldCount);
516 template <
typename ValueType>
522 UE_API explicit FLogContext(
const FLogField&
Field);
538#define UE_PRIVATE_LOG_CATEGORY(CategoryName) CategoryName
540#define UE_PRIVATE_LOG_CATEGORY(CategoryName) ::UE::Logging::Private::LogFatal
543#define UE_PRIVATE_LOGFMT(Condition, CategoryName, Verbosity, Format, ...) \
546 if constexpr ((::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) == ::ELogVerbosity::Fatal || \
547 ((::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) <= ::ELogVerbosity::COMPILED_IN_MINIMUM_VERBOSITY && \
548 (::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) <= UE_PRIVATE_LOG_CATEGORY(CategoryName).CompileTimeVerbosity)) \
550 static ::UE::Logging::Private::FStaticLogDynamicData LOG_Dynamic; \
551 static constexpr ::UE::Logging::Private::FStaticLogRecord LOG_Static UE_PRIVATE_LOGFMT_AGGREGATE(TEXT(Format), __builtin_FILE(), __builtin_LINE(), ::ELogVerbosity::Verbosity, LOG_Dynamic); \
552 UE_PRIVATE_LOGFMT_LOG_IF_ACTIVE(Condition, CategoryName, Verbosity, LOG_Static, ##__VA_ARGS__); \
557#define UE_PRIVATE_LOGFMT_LOC(Condition, CategoryName, Verbosity, Namespace, Key, Format, ...) \
560 if constexpr ((::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) == ::ELogVerbosity::Fatal || \
561 ((::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) <= ::ELogVerbosity::COMPILED_IN_MINIMUM_VERBOSITY && \
562 (::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) <= UE_PRIVATE_LOG_CATEGORY(CategoryName).CompileTimeVerbosity)) \
564 static ::UE::Logging::Private::FStaticLogDynamicData LOG_Dynamic; \
565 static constexpr ::UE::Logging::Private::FStaticLocalizedLogRecord LOG_Static UE_PRIVATE_LOGFMT_AGGREGATE(TEXT(Namespace), TEXT(Key), TEXT(Format), __builtin_FILE(), __builtin_LINE(), ::ELogVerbosity::Verbosity, LOG_Dynamic); \
566 UE_PRIVATE_LOGFMT_LOG_IF_ACTIVE(Condition, CategoryName, Verbosity, LOG_Static, ##__VA_ARGS__); \
571#define UE_PRIVATE_LOGFMT_LOG_IF_ACTIVE(Condition, CategoryName, Verbosity, Log, ...) \
572 if constexpr ((::ELogVerbosity::Verbosity & ::ELogVerbosity::VerbosityMask) == ::ELogVerbosity::Fatal) \
576 ::UE::Logging::Private::FatalLogWithFields(UE_PRIVATE_LOG_CATEGORY(CategoryName), LOG_Static, ##__VA_ARGS__); \
579 else if (!UE_PRIVATE_LOG_CATEGORY(CategoryName).IsSuppressed(::ELogVerbosity::Verbosity)) \
583 ::UE::Logging::Private::LogWithFields(UE_PRIVATE_LOG_CATEGORY(CategoryName), LOG_Static, ##__VA_ARGS__); \
589#define UE_PRIVATE_LOGFMT_AGGREGATE(...) {__VA_ARGS__}
594#define UE_PRIVATE_LOGFMT_FIELD(Field) UE_PRIVATE_LOGFMT_FIELD_EXPAND(UE_PRIVATE_LOGFMT_NAMED_FIELD Field)
596#define UE_PRIVATE_LOGFMT_NAMED_FIELD(Name, ...) UE_PRIVATE_LOGFMT_NAMED_FIELD ::UE::Logging::Private::CheckFieldName(Name), __VA_ARGS__
598#define UE_PRIVATE_LOGFMT_FIELD_EXPAND(...) UE_PRIVATE_LOGFMT_FIELD_EXPAND_INNER(__VA_ARGS__)
599#define UE_PRIVATE_LOGFMT_FIELD_EXPAND_INNER(...) UE_PRIVATE_LOGFMT_STRIP_ ## __VA_ARGS__
600#define UE_PRIVATE_LOGFMT_STRIP_UE_PRIVATE_LOGFMT_NAMED_FIELD
604#define UE_PRIVATE_LOGFMT_FIELDS(...) UE_PRIVATE_LOGFMT_CALL(UE_JOIN(UE_PRIVATE_LOGFMT_FIELDS_, UE_PRIVATE_LOGFMT_COUNT(__VA_ARGS__)), (__VA_ARGS__))
606#define UE_PRIVATE_LOGFMT_FIELDS_0()
607#define UE_PRIVATE_LOGFMT_FIELDS_1(A) , UE_PRIVATE_LOGFMT_FIELD(A)
608#define UE_PRIVATE_LOGFMT_FIELDS_2(A,B) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B)
609#define UE_PRIVATE_LOGFMT_FIELDS_3(A,B,C) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C)
610#define UE_PRIVATE_LOGFMT_FIELDS_4(A,B,C,D) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D)
611#define UE_PRIVATE_LOGFMT_FIELDS_5(A,B,C,D,E) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E)
612#define UE_PRIVATE_LOGFMT_FIELDS_6(A,B,C,D,E,F) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F)
613#define UE_PRIVATE_LOGFMT_FIELDS_7(A,B,C,D,E,F,G) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G)
614#define UE_PRIVATE_LOGFMT_FIELDS_8(A,B,C,D,E,F,G,H) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H)
615#define UE_PRIVATE_LOGFMT_FIELDS_9(A,B,C,D,E,F,G,H,I) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I)
617#define UE_PRIVATE_LOGFMT_FIELDS_10(A,B,C,D,E,F,G,H,I,J) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J)
618#define UE_PRIVATE_LOGFMT_FIELDS_11(A,B,C,D,E,F,G,H,I,J,K) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J), UE_PRIVATE_LOGFMT_FIELD(K)
619#define UE_PRIVATE_LOGFMT_FIELDS_12(A,B,C,D,E,F,G,H,I,J,K,L) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J), UE_PRIVATE_LOGFMT_FIELD(K), UE_PRIVATE_LOGFMT_FIELD(L)
620#define UE_PRIVATE_LOGFMT_FIELDS_13(A,B,C,D,E,F,G,H,I,J,K,L,M) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J), UE_PRIVATE_LOGFMT_FIELD(K), UE_PRIVATE_LOGFMT_FIELD(L), UE_PRIVATE_LOGFMT_FIELD(M)
621#define UE_PRIVATE_LOGFMT_FIELDS_14(A,B,C,D,E,F,G,H,I,J,K,L,M,N) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J), UE_PRIVATE_LOGFMT_FIELD(K), UE_PRIVATE_LOGFMT_FIELD(L), UE_PRIVATE_LOGFMT_FIELD(M), UE_PRIVATE_LOGFMT_FIELD(N)
622#define UE_PRIVATE_LOGFMT_FIELDS_15(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J), UE_PRIVATE_LOGFMT_FIELD(K), UE_PRIVATE_LOGFMT_FIELD(L), UE_PRIVATE_LOGFMT_FIELD(M), UE_PRIVATE_LOGFMT_FIELD(N), UE_PRIVATE_LOGFMT_FIELD(O)
623#define UE_PRIVATE_LOGFMT_FIELDS_16(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P) , UE_PRIVATE_LOGFMT_FIELD(A), UE_PRIVATE_LOGFMT_FIELD(B), UE_PRIVATE_LOGFMT_FIELD(C), UE_PRIVATE_LOGFMT_FIELD(D), UE_PRIVATE_LOGFMT_FIELD(E), UE_PRIVATE_LOGFMT_FIELD(F), UE_PRIVATE_LOGFMT_FIELD(G), UE_PRIVATE_LOGFMT_FIELD(H), UE_PRIVATE_LOGFMT_FIELD(I), UE_PRIVATE_LOGFMT_FIELD(J), UE_PRIVATE_LOGFMT_FIELD(K), UE_PRIVATE_LOGFMT_FIELD(L), UE_PRIVATE_LOGFMT_FIELD(M), UE_PRIVATE_LOGFMT_FIELD(N), UE_PRIVATE_LOGFMT_FIELD(O), UE_PRIVATE_LOGFMT_FIELD(P)
625#define UE_PRIVATE_LOGFMT_COUNT(...) UE_PRIVATE_LOGFMT_CALL(UE_PRIVATE_LOGFMT_COUNT_IMPL, (_, ##__VA_ARGS__, 16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0))
626#define UE_PRIVATE_LOGFMT_COUNT_IMPL(_, A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P, Count, ...) Count
628#define UE_PRIVATE_LOGFMT_CALL(F, A) UE_PRIVATE_LOGFMT_EXPAND(F A)
629#define UE_PRIVATE_LOGFMT_EXPAND(X) X
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEBUG_SECTION
Definition AssertionMacros.h:32
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_LOG_INCLUDE_SOURCE_LOCATION
Definition LogMacros.h:24
#define UE_IF(OneOrZero, Token1, Token0)
Definition PreprocessorHelpers.h:18
#define UE_API
Definition SColorGradingComponentViewer.h:12
void SerializeForLog(FCbWriter &Writer, const TOptional< ValueType > &Optional)
Definition StructuredLog.h:314
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition CompactBinary.h:1252
Definition CompactBinary.h:1392
Definition CompactBinaryWriter.h:68
void BeginArray(FUtf8StringView Name)
Definition CompactBinaryWriter.h:144
CORE_API void EndArray()
Definition CompactBinaryWriter.cpp:314
Definition NameTypes.h:617
Definition AssetRegistryState.h:50
Definition StringBuilder.h:79
Definition StructuredLog.h:182
void SetCategory(const FName &InCategory)
Definition StructuredLog.h:186
UE_API void ConvertToCommonLog(FUtf8StringBuilderBase &OutFormat, FCbWriter &OutFields) const
Definition StructuredLog.cpp:1058
UE_API void FormatMessageTo(FUtf8StringBuilderBase &Out) const
Definition StructuredLog.cpp:1048
int32 GetLine() const
Definition StructuredLog.h:213
const TCHAR * GetTextNamespace() const
Definition StructuredLog.h:217
const FLogTime & GetTime() const
Definition StructuredLog.h:193
void SetFile(const ANSICHAR *InFile)
Definition StructuredLog.h:210
const TCHAR * GetFormat() const
Definition StructuredLog.h:197
void SetTemplate(const FLogTemplate *InTemplate)
Definition StructuredLog.h:202
void SetFormat(const TCHAR *InFormat)
Definition StructuredLog.h:198
void SetTextNamespace(const TCHAR *InTextNamespace)
Definition StructuredLog.h:218
void SetTime(const FLogTime &InTime)
Definition StructuredLog.h:194
ELogVerbosity::Type GetVerbosity() const
Definition StructuredLog.h:189
const FCbObject & GetFields() const
Definition StructuredLog.h:205
void SetVerbosity(ELogVerbosity::Type InVerbosity)
Definition StructuredLog.h:190
const ANSICHAR * GetFile() const
Definition StructuredLog.h:209
const TCHAR * GetTextKey() const
Definition StructuredLog.h:221
void SetTextKey(const TCHAR *InTextKey)
Definition StructuredLog.h:222
const FName & GetCategory() const
Definition StructuredLog.h:185
const FLogTemplate * GetTemplate() const
Definition StructuredLog.h:201
void SetFields(FCbObject &&InFields)
Definition StructuredLog.h:206
void SetLine(int32 InLine)
Definition StructuredLog.h:214
Definition StructuredLog.h:163
constexpr FLogTime()=default
static UE_API FLogTime Now()
Definition StructuredLog.cpp:974
UE_API FDateTime GetUtcTime() const
Definition StructuredLog.cpp:988
static UE_API FLogTime FromUtcTime(const FDateTime &UtcTime)
Definition StructuredLog.cpp:981
Definition GenericPlatformFile.h:25
Type
Definition LogVerbosity.h:17
@ Log
Definition LogVerbosity.h:40
Definition FieldSystemNoiseAlgo.cpp:6
Definition StructuredLog.cpp:48
UE_COLD UE_DEBUG_SECTION void LogWithFields(const FLogCategoryBase &Category, const LogType &Log, FieldArgTypes &&... FieldArgs)
Definition StructuredLog.h:471
constexpr TLogFieldName< NameType > CheckFieldName(NameType &&Name)
Definition StructuredLog.h:432
UE_COLD UE_DEBUG_SECTION void FatalLogWithFields(const FLogCategoryBase &Category, const LogType &Log, FieldArgTypes &&... FieldArgs)
Definition StructuredLog.h:489
Definition AdvancedWidgetsModule.cpp:13
void SerializeForLog(FCbWriter &Writer, ValueType &&Value)
Definition StructuredLog.h:290
void CallSerializeForLog(FCbWriter &Writer, ValueType &&Value)
Definition StructuredLog.h:306
Definition LogCategory.h:21
Definition LogCategory.h:86
Definition IsArrayOrRefOfType.h:13
Definition Optional.h:131
Definition StructuredLog.h:297
auto Requires(FCbWriter &Writer, ValueType &&Value) -> decltype(SerializeForLog(Writer,(ValueType &&) Value))
Definition StructuredLog.h:510
FLogContext & operator=(const FLogContext &)=delete
UE_API ~FLogContext()
Definition StructuredLog.cpp:1144
FLogContext(const ANSICHAR *Name)
Definition StructuredLog.h:511
FLogContext * Prev
Definition StructuredLog.h:530
FLogContext(const FLogContext &)=delete
bool bDisabledOlderContext
Definition StructuredLog.h:532
FLogContext * Next
Definition StructuredLog.h:529
FCbField Field
Definition StructuredLog.h:528
FLogContext(const ANSICHAR *Name, const ValueType &Value)
Definition StructuredLog.h:517
bool bDisabledByNewerContext
Definition StructuredLog.h:531
Definition StructuredLog.h:440
static void Create(FLogField *Fields)
Definition StructuredLog.h:450
static constexpr int32 GetCount()
Definition StructuredLog.h:445
static void Create(FLogField *Fields, const ValueType &Value, FieldArgTypes &&... FieldArgs)
Definition StructuredLog.h:455
static constexpr int32 ValueCount
Definition StructuredLog.h:441
static void Create(FLogField *Fields, TLogFieldName< NameType > Name, const ValueType &Value, FieldArgTypes &&... FieldArgs)
Definition StructuredLog.h:462
Definition StructuredLog.h:397
FWriteFn * WriteValue
Definition StructuredLog.h:402
void(FCbWriter &Writer, const void *Value) FWriteFn
Definition StructuredLog.h:398
static void Write(FCbWriter &Writer, const void *Value)
Definition StructuredLog.h:405
const void * Value
Definition StructuredLog.h:401
const ANSICHAR * Name
Definition StructuredLog.h:400
Definition StructuredLog.h:365
FStaticLogDynamicData & DynamicData
Definition StructuredLog.h:372
const TCHAR * Format
Definition StructuredLog.h:368
const TCHAR * TextNamespace
Definition StructuredLog.h:366
UE_IF(UE_LOG_INCLUDE_SOURCE_LOCATION,, inline static constexpr) const ANSICHAR *File
ELogVerbosity::Type Verbosity
Definition StructuredLog.h:371
const TCHAR * TextKey
Definition StructuredLog.h:367
Definition StructuredLog.h:329
std::atomic< FLogTemplate * > Template
Definition StructuredLog.h:330
Definition StructuredLog.h:338
const TCHAR * Format
Definition StructuredLog.h:339
UE_IF(UE_LOG_INCLUDE_SOURCE_LOCATION,, inline static constexpr) const ANSICHAR *File
ELogVerbosity::Type Verbosity
Definition StructuredLog.h:342
FStaticLogDynamicData & DynamicData
Definition StructuredLog.h:343
Definition StructuredLog.h:426
NameType Name
Definition StructuredLog.h:427