Log Verbosity filtering doesn't work properly with custom logging categories in the editor

I have declared my custom logging category with default runtime and compile-time verbosity VeryVerbose:

DECLARE_LOG_CATEGORY_EXTERN(LogLightingCompanion, VeryVerbose, All);

Defined it in a .cpp file:

DEFINE_LOG_CATEGORY(LogLightingCompanion);

Then I try to use it in an actor class:

void ALightingCompanion::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);

	UE_LOG(LogLightingCompanion, Log, TEXT("LOG"));
	UE_LOG(LogLightingCompanion, Verbose, TEXT("VERBOSE"));
	UE_LOG(LogLightingCompanion, VeryVerbose, TEXT("VERYVERBOSE"));
}

I make sure that logging verbosity for this category is set to VeryVerbose by typing this command in the editor:

Log LogLightingCompanion All

However only the first line (LOG) is ever printed.

If I change the target log category to LogTemp and then set Log LogTemp All, it works, i.e. all 3 lines are printed. What gives?

Hey, stumbled upon this old question without answer. If you still need an answer or if anyone has a similar issue, it’s likely that you have some settings which override your log category verbosity. Have you tried running with -LogCmds=“LogLightingCompanion VeryVerbose” or setting the verbosity in the ini file (DefaultEngine.ini or Engine.ini) ?

[Core.Log]
LogLightingCompanion=VeryVerbose

For more detailed info:
https://nerivec.github.io/old-ue4-wiki/pages/logs-printing-messages-to-yourself-during-runtime.html#Setting_Up_Your_Own_Log_Category

2 Likes