preaction / Log-Any

Simple, fast Perl logging API compatible with any logging system
Other
13 stars 19 forks source link

[feature] non-static (object based) access of context data is sometimes misleading #92

Open XSven opened 1 year ago

XSven commented 1 year ago

I have started this week to play with the Log::Any context data and structured data feature. With respect to the context data feature I was misled by the object method based access: $log->context. I thought the context belongs to the logger and maybe to subloggers, if we take logger category namespace inheritance into consideration. But if I have understood it right now the context is a property of the Log::Any::Manager singleton instance. From my perspective the following class method should be added to Log::Any

sub get_context { $manager->get_context }

If this sounds reasonable I can create a PR.

preaction commented 1 year ago

Unfortunately, the context is global because the proxy objects don't have any kind of parent/child relationship, and trying to infer one based on categories would be impossible. Having a plain Log::Any->context accessor would probably be fine: It aligns with my desire to get rid of the Manager class entirely and move all its functionality into the base Log::Any class.