Code: Select all
local loglist [:toarray [/log find time>([/system clock get time] - 24h) message~"no IKEv1 peer config"]]
# for all error do
:foreach i in=$loglist do={
# find message
:local logMessage [/log get $i message]
# find ip
# :local ip [:pick $logMessage ([:find $logMessage "for "]-1)]
/log print where message~"no IKEv1 peer"
22:20:27 ipsec no IKEv1 peer config for xxx.yyy.zzz.qqq
22:20:33 ipsec no IKEv1 peer config for aaa.bbb.ccc.ddd
I just simple failed to understand the logic behind "pick" and "find"
# :local ip [:pick $logMessage ([:find $logMessage "for "]-1)]