过滤错误日志。
SetErrorFilter(filters)
正则表达式字符串。 filters true string
function main() {
SetErrorFilter("502:|503:|tcp|character|unexpected|network|timeout|WSARecv|Connect|GetAddr|no such|reset|http|received|EOF|reused")
}
def main():
SetErrorFilter("502:|503:|tcp|character|unexpected|network|timeout|WSARecv|Connect|GetAddr|no such|reset|http|received|EOF|reused")
void main() {
SetErrorFilter("502:|503:|tcp|character|unexpected|network|timeout|WSARecv|Connect|GetAddr|no such|reset|http|received|EOF|reused");
}
过滤常见错误。
“`javascript
function main() {
// 鉴于测试代码,不使用商品期货策略一般架构,这里仅判断exchange.IO(“status”)函数,判断连接期货公司前置机成功后立即执行测试代码。股票证券无需使用exchange.IO(“status”)判断连接状态
while(!exchange.IO(“status”)) {
Sleep(1000)
}
// 设置合约代码
exchange.SetContractType(“rb888”)
// 随意查询一个不存在的订单,ID为123,故意让接口报错
var order = exchange.GetOrder("123")
Log(order)
// 过滤HTTP 502错误、GetOrder接口错误,设置错误过滤后,第二次调用GetOrder不再报错
SetErrorFilter("502:|GetOrder")
order = exchange.GetOrder("123")
Log(order)
}
python
def main():
while not exchange.IO(“status”):
Sleep(1000)
exchange.SetContractType("rb888")
order = exchange.GetOrder("123")
Log(order)
SetErrorFilter("502:|GetOrder")
order = exchange.GetOrder("123")
Log(order)```
”`cpp void main() { while(exchange.IO(“status”) == 0) { Sleep(1000); }
exchange.SetContractType("rb888");
TId orderId;
Order order = exchange.GetOrder(orderId);
Log(order);
SetErrorFilter("502:|GetOrder");
order = exchange.GetOrder(orderId);
Log(order);
}“` 过滤特定接口的错误信息。
被此正则表达式匹配的错误日志将不会上传到日志系统,可多次调用(无次数限制)设置多个过滤条件。多次设置的正则表达式会累积生效。可通过设置空字符串来重置错误日志过滤的正则表达式:SetErrorFilter("")
。
被过滤的日志不再写入托管者目录下对应实盘ID的数据库文件中,防止频繁报错导致数据库文件过度膨胀。