Hello,
Code:
import java.lang.Integer
import time
import operator
from datetime import datetime as dt
def main():
date = dt.strftime(dt.now(), '%Y-%m-%d')
hourOffset = dt.now().hour
eventLog = session.openServerLog("EventLog")
severityFilter = ColumnFilter(java.lang.Integer(ColumnFilter.GREATER),2)
timeFilter = ColumnFilter(long(time.time()-86400),long(time.time()))
logFilter = LogFilter()
logFilter.setColumnFilter("event_severity",severityFilter)
logFilter.setColumnFilter("event_timestamp",timeFilter)
eventLog.query(logFilter)
eventTable = eventLog.retrieveData(0,500,True)
print(str(eventTable))
main()
Output / Error
>>> severityFilter = ColumnFilter(java.lang.Integer(ColumnFilter.GREATER),2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: type object 'org.netxms.client.log.ColumnFilter' has no attribute 'GREATER'
ColumnFilter Vars
>>> print(str(vars(ColumnFilter)))
{
'__init__': <java constructor org.netxms.client.log.ColumnFilter 0x2>,
'numericValue': <beanProperty numericValue type: long 0x3>,
'getRangeTo': <java function getRangeTo 0x4>,
'rangeTo': <beanProperty rangeTo type: long 0x5>,
'setLike': <java function setLike 0x6>,
'getType': <java function getType 0x7>,
'operation': <beanProperty operation type: org.netxms.client.constants.ColumnFilterSetOperation 0x8>,
'setRangeTo': <java function setRangeTo 0x9>,
'addSubFilter': <java function addSubFilter 0xa>,
'getSubFilters': <java function getSubFilters 0xb>,
'getLike': <java function getLike 0xc>,
'getNumericValue': <java function getNumericValue 0xd>,
'subFilters': <beanProperty subFilters type: java.util.Set 0xe>,
'negated': <beanProperty negated type: boolean 0xf>,
'isNegated': <java function isNegated 0x10>,
'getOperation': <java function getOperation 0x11>,
'type': <beanProperty type type: org.netxms.client.constants.ColumnFilterType 0x12>,
'getRangeFrom': <java function getRangeFrom 0x13>,
'setOperation': <java function setOperation 0x14>,
'setRangeFrom': <java function setRangeFrom 0x15>,
'setNegated': <java function setNegated 0x16>,
'setNumericValue': <java function setNumericValue 0x17>,
'rangeFrom': <beanProperty rangeFrom type: long 0x18>,
'like': <beanProperty like type: java.lang.String 0x19>
}
This looks promising
>>> ColumnFilter(ColumnFilterType.GREATER, 2)
org.netxms.client.log.ColumnFilter@7092fb41
and then previous code becomes
severityFilter = ColumnFilter(ColumnFilterType.GREATER, 2)
re: 4acb63e12d19c7b1633ee803db2eabc5e02e3532
Quote*UPDATED* Type of search in class ColumnFilter should be change to Enum type. fixes #1245
Thank you for contributing and documenting Ēriks Jenkēvics