Run command on switch port hotplug

I've noticed the hotplug.d/iface and net subsystems can't be used for triggering action on port up/down events - at least this is what I've learned on this forum for the past hours.
any other solution - like awk on the switch events like here ?
my logged event:

un Apr  7 18:54:02 2024 kern.info kernel: [   28.198540] mt7530-mdio mdio-bus:1f lan4: Link is Up - 100Mbps/Full - flow control off
Sun Apr  7 18:54:02 2024 kern.info kernel: [   28.206604] br-lan: port 4(lan4) entered blocking state
Sun Apr  7 18:54:02 2024 kern.info kernel: [   28.212026] br-lan: port 4(lan4) entered forwarding state
Sun Apr  7 18:54:02 2024 daemon.notice netifd: Network device 'lan4' link is up

until I find something better I'm using this "duct-tape" init service:

#!/bin/sh /etc/rc.common

START=98

start()
{
            logread -f | awk '
                /mt7530-mdio mdio-bus:1f lan4: Link is Up/ {
                    system("logger -t hotplug lan4-is-up # && /usr/bin/etherwake -i br-lan my-host ")
                }
            ' &
            exit 0
}
stop()
{
            killall -q logread
}