You don't need to create a /login route since Login method is being called implicitly if auth is required.
To add logging, it's enough to redefine the Login method in your broker like this (##super docs):

ClassMethod Login(skipheader As %Boolean = 1) As %Status [ ProcedureBlock = 0 ]
{
    // do app-level logging
    quit ##super(skipheader)
}
ObjectScript
ObjectScript

Only if it's a collection property:

Class Utils.DynArrayProp Extends %Persistent
{

Property A;

Property B As list Of %Integer;

/// do ##class(Utils.DynArrayProp).Test()
ClassMethod Test()
{
	Do ..%KillExtent()
	Set json = "{""A"":123,""B"":[1,2,3]}"
	Set dynamicObject = {}.%FromJSON(json)
	Set object = ##class(%ZEN.Auxiliary.altJSONProvider).%UnpackObjectToCOSObject(dynamicObject, $classname())
	Set sc = object.%Save()
	ZW sc,object,^Utils.DynArrayPropD
}
}
ObjectScript
ObjectScript