Page 1 of 1

Filter LOG messagens with API

Posted: Thu Jan 05, 2012 6:48 pm
by alexandrecorrea
Hello, i´m trying to do this:

[admin@Orbit] /log> print where message~"failed"
14:35:04 pppoe,ppp,info <pppoe-0>: terminating... - user ajcorrea authentication failed
14:35:35 pppoe,ppp,info <pppoe-0>: terminating... - user ajcorrea authentication failed
14:36:06 pppoe,ppp,info <pppoe-0>: terminating... - user ajcorrea authentication failed
14:36:37 pppoe,ppp,info <pppoe-0>: terminating... - user ajcorrea authentication failed

with API:
<?php

require('/ondasys/phplibs/mikrotikapi.class.php');
$API = new routeros_api();

$API->debug = true;

if ($API->connect('xxxx', 'xxx', 'xxx')) {

   $ARRAY = $API->comm('/log/print',array("~message"=>"authentication failed"));
   print_r($ARRAY);
   $API->disconnect();

}
?>
but api returns ALL log entries ...

... filtering logs are possible with API ?!

thanks !!!!

Re: Filter LOG messagens with API

Posted: Thu Jan 05, 2012 7:41 pm
by boen_robot
Regex are not officially supported with API. The current implementation in Denis' class is a hack, and by virtue of being a hack, it only works for some lists in some RouterOS versions.

See this topic for details.