UTC timezones used for apps in syslog-ng instead of configured one

I have set this
file("/var/log/messages" time_zone("+04:30"));
in syslog config and it seems to work for syslog itself:

 Sep 22 18:36:19 openwrt syslog-ng[4382]: syslog-ng shutting down; version='3.9.1'
 Sep 22 18:36:20 openwrt syslog-ng[9469]: syslog-ng starting up; version='3.9.1'

but the other messages are still in UTC timezone like this:


Sep 22 15:03:04 openwrt ddns-scripts[5373]: duckdns: GNU Wget Error: '4'
Sep 22 15:03:04 openwrt ddns-scripts[5373]: duckdns: Transfer failed - retry 1/0 in 30 seconds
Sep 22 18:36:19 openwrt syslog-ng[4382]: syslog-ng shutting down; version='3.9.1'
Sep 22 18:36:20 openwrt syslog-ng[9469]: syslog-ng starting up; version='3.9.1'

the ddns-script was not run 4:33 hour before but 3 min before.

any idea how to fix this?

What is the output of uci show system | grep zone ?

system.@system[0].zonename='Asia/Tehran'
system.@system[0].timezone='IRST-3:30IRDT,80/0,264/0'

hardware (hwclock) clock and system-time should be in sync, as a start. However, there could be some issue with the busybox logger utility a/o cron ignoring time zones.

hwclock --verbose
hwclock from util-linux 2.32
System Time: 1569324414.937745
Trying to open: /dev/rtc0
Trying to open: /dev/rtc
Trying to open: /dev/misc/rtc
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.
date
Tue Sep 24 14:56:43 IRST 2019

Anyone find a solution to this? I just installed syslog-ng 3.25.1-2 on openwrt 19.07.1, and was noticing a similar issue. hostapd's log timestamps correspond to the output of 'date' which is in EST, while dnsmasq-dhcp's log timestamps correspond to UTC.