FVisualLogger

Windows
MacOS
Linux

Inheritance Hierarchy

FOutputDevice

FVisualLogger

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Public/VisualLogger/VisualLogger.h

Include

#include "VisualLogger/VisualLogger.h"

Syntax

class FVisualLogger : public FOutputDevice

Variables

Name Description

Protected variable

TMap< FName, FV...

 

AllExtensions

Visual Logger extensions map.

Protected variable

int32: 1

 

bBlockedAllCategories

If set all categories are blocked from logging

Protected variable

int32: 1

 

bIsRecordingOnServer

Variable set (from cheat manager) when logging is active on server

Protected variable

int32: 1

 

bIsRecordingToFile

If set we are recording to file

Protected variable

TArray< FName >

 

CategoriesWhitelist

White list of categories to bypass blocking

Protected variable

FChildToOwnerRe...

 

ChildToOwnerMap

For any object that has requested redirection this map holds where we should redirect the trafic to

Protected variable

TArray< UClass ...

 

ClassWhitelist

White-listed classes - only instances of these classes will be logged.

Protected variable

TMap< const UOb...

 

CurrentEntryPerObject

Current entry with all data.

Protected variable

TMap< float, in...

 

LastUniqueIds

Last generated unique id for given times tamp

Protected variable

FVisualLogFilen...

 

LogFileNameGetter

Delegate to set project specific file name for vlogs

Protected variable

TMap< const UOb...

 

ObjectToClassNameMap

Map to contain class names for Objects (they can be destroyed after while)

Protected variable

TMap< const UOb...

 

ObjectToNameMap

Map to contain names for Objects (they can be destroyed after while)

Protected variable

TMap< const UOb...

 

ObjectToPointerMap

Map to contain information about pointers in game.

Protected variable

FObjectToWorldM...

 

ObjectToWorldMap

Cached map to world information because it's just raw pointer and not real object.

Protected variable

TSet< const UOb...

 

ObjectWhitelist

White-listed objects - takes priority over class whitelist and should be used to create exceptions in it if ObjectWhitelist is empty (default) everything will log do NOT read from those pointers, they can be invalid!

Protected variable

TArray< FVisual...

 

OutputDevices

Array of output devices to redirect to

Protected variable

float

 

StartRecordingToFileTime

Start recording time

Protected variable

bool

 

UseBinaryFileDevice

Specifies if the Binary Device is being used

Protected variable

FTimerHandle

 

VisualLoggerCleanupTimerHandle

Handle for timer used to serialize all waiting logs

Constructors

No constructors are accessible with public or protected access.

Destructors

Name Description

Public function Virtual

~FVisualLogger()

Functions

Name Description

Public function

void

 

AddCategoryToWhitelist

(
    FName Category
)

Public function

void

 

AddDevice

(
    FVisualLogDevice* InDevice
)

Add visual logger output device

Public function

void

 

AddWhitelistedClass

(
    UClass& InClass
)

Public function

void

 

AddWhitelistedObject

(
    const UObject& InObject
)

Public function Static

void

 

ArrowLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FVector& Start,
    const FVector& End,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

ArrowLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FVector& Start,
    const FVector& End,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Arrow.

Public function

void

 

BlockAllCategories

(
    bool InBlock
)

Blocks all categories from logging. It can be bypassed with white list for categories

Public function Static

void

 

CategorizedLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FmtType& Fmt,
    Types... Args
)

Regular text log.

Public function Static

void

 

CategorizedLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

bool

 

CheckVisualLogInputInternal

(
    const UObject* Object,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    UWorld** World,
    FVisualLogEntry** CurrentE...
)

Internal check for each usage of visual logger

Public function

void

 

Cleanup

(
    UWorld* OldWorld,
    bool bReleaseMemory
)

Removes all logged data.

Public function

void

 

ClearObjectWhitelist()

Public function

void

 

ClearWhiteList()

Public function

void

 

DiscardRecordingToFile()

Disables recording to file and discards all data without saving it to file

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FName EventTag1,
    const FVisualLogEventBase& Event1,
    const FVisualLogEventBase& Event2,
    const FVisualLogEventBase& Event3
)

Log events

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FName EventTag1,
    const FVisualLogEventBase& Event1,
    const FVisualLogEventBase& Event2
)

Log events

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FName EventTag1,
    const FVisualLogEventBase& Event1,
    const FVisualLogEventBase& Event2,
    const FVisualLogEventBase& Event3,
    const FVisualLogEventBase& Event4
)

Log events

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FVisualLogEventBase& Event1,
    const FName EventTag1,
    const FName EventTag2,
    const FName EventTag3,
    const FName EventTag4,
    const FName EventTag5,
    const FName EventTag6
)

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FName EventTag1,
    const FVisualLogEventBase& Event1,
    const FVisualLogEventBase& Event2,
    const FVisualLogEventBase& Event3,
    const FVisualLogEventBase& Event4,
    const FVisualLogEventBase& Event5,
    const FVisualLogEventBase& Event6
)

Log events

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FName EventTag1,
    const FVisualLogEventBase& Event1,
    const FName EventTag2,
    const FName EventTag3,
    const FName EventTag4,
    const FName EventTag5,
    const FName EventTag6
)

Log events

Public function Static

void

 

EventLog

(
    const UObject* LogOwner,
    const FName EventTag1,
    const FVisualLogEventBase& Event1,
    const FVisualLogEventBase& Event2,
    const FVisualLogEventBase& Event3,
    const FVisualLogEventBase& Event4,
    const FVisualLogEventBase& Event5
)

Log events

Public function Static

UObject *...

 

FindRedirection

(
    const UObject* Object
)

Find and return redirection object for given object

Public function Static

void

 

GeometryBoxLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FBox& Box,
    const FMatrix& Matrix,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryBoxLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FBox& Box,
    const FMatrix& Matrix,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Box log.

Public function Static

void

 

GeometryConvexLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const TArray< FVector >& Points,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

2d Convex shape

Public function Static

void

 

GeometryConvexLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const TArray< FVector >& Points,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FVector& Origin,
    const FVector& Direction,
    const float Length,
    const float Angle,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Cone log.

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FVector& Start,
    const FVector& End,
    const float Radius,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FVector& Location,
    float Radius,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Location/Sphere log.

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FVector& Location,
    float Radius,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const TArray< FVector >& Vertices,
    const TArray< int32 >& Indices,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

3d Mesh log

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const TArray< FVector >& Vertices,
    const TArray< int32 >& Indices,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FVector& Start,
    const FVector& End,
    const FColor& Color,
    const uint16 Thickness,
    const FmtType& Fmt,
    Types... Args
)

Segment log.

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FVector& Origin,
    const FVector& Direction,
    const float Length,
    const float Angle,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FVector& Center,
    float HalfHeight,
    float Radius,
    const FQuat& Rotation,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Capsule log.

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const FVector& Start,
    const FVector& End,
    const float Radius,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Cylinder log.

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FVector& Start,
    const FVector& End,
    const FColor& Color,
    const uint16 Thickness,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

GeometryShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const FVector& Center,
    float HalfHeight,
    float Radius,
    const FQuat& Rotation,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

FVisualLogge...

 

Get()

Static getter

Public function Const

const TMap< ...

 

GetAllExtensions()

Returns reference to map with all registered extension

Public function

FChildToOwne...

 

GetChildToOwnerRedirectionMap()

Public function Const

const TArray...

 

GetDevices()

Remove visual logger output device

Public function

FVisualLogEn...

 

GetEntryToWrite

(
    const UObject* Object,
    float TimeStamp,
    ECreateIfNeeded ShouldCreate
)

Returns current entry for given TimeStap or creates another one but first it serialize previous entry as completed to vislog devices.

Public function Const

FVisualLogEx...

 

GetExtensionForTag

(
    const FName TagName
)

Returns extension identified by given tag

Public function

FVisualLogEn...

 

GetLastEntryForObject

(
    const UObject* Object
)

Retrieves last used entry for given UObject

Public function

FObjectToWor...

 

GetObjectToWorldMap()

Public function Static

FOwnerToChil...

 

GetRedirectionMap

(
    const UObject* InObject
)

Public function

int32

 

GetUniqueId

(
    float Timestamp
)

Generates and returns Id unique for given timestamp - used to connect different logs between (ex. text log with geometry shape)

Public function Const

const TArray...

 

GetWhiteList()

Returns white list for modifications

Public function Static

void

 

HistogramDataLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    FName GraphName,
    FName DataName,
    const FVector2D& Data,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Histogram data.

Public function Static

void

 

HistogramDataLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    FName GraphName,
    FName DataName,
    const FVector2D& Data,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Const

bool

 

IsBlockedForAllCategories()

Checks if all categories are blocked

Public function Const

bool

 

IsCategoryLogged

(
    const FLogCategoryBase& Category
)

Check if log category can be recorded, verify before using GetEntryToWrite!

Public function Const

bool

 

IsClassWhitelisted

(
    const UClass& InClass
)

Public function Const

bool

 

IsObjectWhitelisted

(
    const UObject* InObject
)

Public function Static

bool

 

IsRecording()

Return information is vlog recording is enabled or not

Public function Const

bool

 

IsRecordingOnServer()

Public function Const

bool

 

IsRecordingToFile()

Return information is vlog recording is enabled or not

Public function Const

bool

 

IsWhiteListed

(
    const FName& Name
)

Public function Static

void

 

NavAreaShapeLogf

(
    const UObject* LogOwner,
    const FName& CategoryName,
    ELogVerbosity::Type Verbosity,
    const TArray< FVector >& ConvexPoi...,
    float MinZ,
    float MaxZ,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

Public function Static

void

 

NavAreaShapeLogf

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    ELogVerbosity::Type Verbosity,
    const TArray< FVector >& ConvexPoi...,
    float MinZ,
    float MaxZ,
    const FColor& Color,
    const FmtType& Fmt,
    Types... Args
)

NavArea/Extruded convex log.

Public function Static

void

 

NavigationDataDump

(
    const UObject* LogOwner,
    const FName& CategoryName,
    const ELogVerbosity::Type Verbosity,
    const FBox& Box
)

Navigation data debug snapshot.

Public function Static

void

 

NavigationDataDump

(
    const UObject* LogOwner,
    const FLogCategoryBase& Category,
    const ELogVerbosity::Type Verbosity,
    const FBox& Box
)

Navigation data debug snapshot.

Public function Static

void

 

Redirect

(
    UObject* FromObject,
    UObject* ToObject
)

Set log owner redirection from one object to another, to combine logs

Public function

void

 

RegisterExtension

(
    FName TagName,
    FVisualLogExtensionInterface* ...
)

Register extension to use by LogVisualizer

Public function

void

 

RemoveDevice

(
    FVisualLogDevice* InDevice
)

Remove visual logger output device

Public function

void

 

SetIsRecording

(
    bool InIsRecording
)

Starts visual log collecting and recording

Public function

void

 

SetIsRecordingOnServer

(
    bool IsRecording
)

Public function

void

 

SetIsRecordingToFile

(
    bool InIsRecording
)

Starts visual log collecting and recording

Public function

void

 

SetLogFileNameGetter

(
    const FVisualLogFilenameGetterDeleg...
)

FileName getter to set project specific file name for vlogs - highly encouradged to use FVisualLogFilenameGetterDelegate::CreateUObject with this

Public function Virtual

void

 

Shutdown()

Called on engine shutdown to flush all, etc.

Public function

void

 

UnregisterExtension

(
    FName TagName,
    FVisualLogExtensionInterface* ...
)

Removes previously registered extension

Overridden from FOutputDevice

Name Description

Public function Virtual

void

 

Flush()

Flush and serialize data if timestamp allows it

Typedefs

Constants

Name

Description

bIsRecording

If set we are recording and collecting all vlog data

NavigationDataDumpDelegate

WorldToRedirectionMap

Map for inter-objects redirections.

Deprecated Functions

Name Description

Public function

void

 

AddCategortyToWhiteList

(
    FName Category
)

Please use the AddCategoryToWhitelist instead

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss