[jira] [Updated] (TS-2208) LogFilter does not have a way to configure conjunction
[ https://issues.apache.org/jira/browse/TS-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Phil Sorber updated TS-2208: Fix Version/s: (was: 6.0.0) sometime LogFilter does not have a way to configure conjunction Key: TS-2208 URL: https://issues.apache.org/jira/browse/TS-2208 Project: Traffic Server Issue Type: New Feature Components: Logging Reporter: Leif Hedstrom Labels: A Fix For: sometime In the LogFilter implementation details, there's code to deal with OR and AND such that you can express either REJECT if x AND y or REJECT if x OR y However, there's no way to configure this in logs_xml.config, m_does_conjunction is always true afaik (so only the OR case above is supported). So even though the code supports both of the above, there's no way to express it: {code} bool m_does_conjunction; // If m_does_conjunction = true // toss_this_entry returns true // if ANY filter tosses entry away. // If m_does_conjunction = false, // toss this entry returns true if // ALL filters toss away entry {code} This seems properly implemented in the LogFilterList::toss_this_entry() method: {code} bool LogFilterList::toss_this_entry(LogAccess * lad) { if (m_does_conjunction) { // toss if any filter rejects the entry (all filters should accept) // for (LogFilter * f = first(); f; f = next(f)) { if (f-toss_this_entry(lad)) { return true; } } return false; } else { // toss if all filters reject the entry (any filter accepts) // for (LogFilter * f = first(); f; f = next(f)) { if (!f-toss_this_entry(lad)) { return false; } } return true; } } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (TS-2208) LogFilter does not have a way to configure conjunction
[ https://issues.apache.org/jira/browse/TS-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Leif Hedstrom updated TS-2208: -- Labels: A (was: ) LogFilter does not have a way to configure conjunction Key: TS-2208 URL: https://issues.apache.org/jira/browse/TS-2208 Project: Traffic Server Issue Type: New Feature Components: Logging Reporter: Leif Hedstrom Labels: A Fix For: 6.0.0 In the LogFilter implementation details, there's code to deal with OR and AND such that you can express either REJECT if x AND y or REJECT if x OR y However, there's no way to configure this in logs_xml.config, m_does_conjunction is always true afaik (so only the OR case above is supported). So even though the code supports both of the above, there's no way to express it: {code} bool m_does_conjunction; // If m_does_conjunction = true // toss_this_entry returns true // if ANY filter tosses entry away. // If m_does_conjunction = false, // toss this entry returns true if // ALL filters toss away entry {code} This seems properly implemented in the LogFilterList::toss_this_entry() method: {code} bool LogFilterList::toss_this_entry(LogAccess * lad) { if (m_does_conjunction) { // toss if any filter rejects the entry (all filters should accept) // for (LogFilter * f = first(); f; f = next(f)) { if (f-toss_this_entry(lad)) { return true; } } return false; } else { // toss if all filters reject the entry (any filter accepts) // for (LogFilter * f = first(); f; f = next(f)) { if (!f-toss_this_entry(lad)) { return false; } } return true; } } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (TS-2208) LogFilter does not have a way to configure conjunction
[ https://issues.apache.org/jira/browse/TS-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Leif Hedstrom updated TS-2208: -- Fix Version/s: (was: 4.1.0) 4.2.0 Moving these to v4.2.0, please move any bugs back that will be worked on before the November release of v4.1.0. LogFilter does not have a way to configure conjunction Key: TS-2208 URL: https://issues.apache.org/jira/browse/TS-2208 Project: Traffic Server Issue Type: New Feature Components: Logging Reporter: Leif Hedstrom Fix For: 4.2.0 In the LogFilter implementation details, there's code to deal with OR and AND such that you can express either REJECT if x AND y or REJECT if x OR y However, there's no way to configure this in logs_xml.config, m_does_conjunction is always true afaik (so only the OR case above is supported). So even though the code supports both of the above, there's no way to express it: {code} bool m_does_conjunction; // If m_does_conjunction = true // toss_this_entry returns true // if ANY filter tosses entry away. // If m_does_conjunction = false, // toss this entry returns true if // ALL filters toss away entry {code} This seems properly implemented in the LogFilterList::toss_this_entry() method: {code} bool LogFilterList::toss_this_entry(LogAccess * lad) { if (m_does_conjunction) { // toss if any filter rejects the entry (all filters should accept) // for (LogFilter * f = first(); f; f = next(f)) { if (f-toss_this_entry(lad)) { return true; } } return false; } else { // toss if all filters reject the entry (any filter accepts) // for (LogFilter * f = first(); f; f = next(f)) { if (!f-toss_this_entry(lad)) { return false; } } return true; } } {code} -- This message was sent by Atlassian JIRA (v6.1#6144)
[jira] [Updated] (TS-2208) LogFilter does not have a way to configure conjunction
[ https://issues.apache.org/jira/browse/TS-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Leif Hedstrom updated TS-2208: -- Fix Version/s: 4.1.0 LogFilter does not have a way to configure conjunction Key: TS-2208 URL: https://issues.apache.org/jira/browse/TS-2208 Project: Traffic Server Issue Type: New Feature Components: Logging Reporter: Leif Hedstrom Fix For: 4.1.0 In the LogFilter implementation details, there's code to deal with OR and AND such that you can express either REJECT if x AND y or REJECT if x OR y However, there's no way to configure this in logs_xml.config, m_does_conjunction is always true afaik (so only the OR case above is supported). So even though the code supports both of the above, there's no way to express it: {code} bool m_does_conjunction; // If m_does_conjunction = true // toss_this_entry returns true // if ANY filter tosses entry away. // If m_does_conjunction = false, // toss this entry returns true if // ALL filters toss away entry {code} This seems properly implemented in the LogFilterList::toss_this_entry() method: {code} bool LogFilterList::toss_this_entry(LogAccess * lad) { if (m_does_conjunction) { // toss if any filter rejects the entry (all filters should accept) // for (LogFilter * f = first(); f; f = next(f)) { if (f-toss_this_entry(lad)) { return true; } } return false; } else { // toss if all filters reject the entry (any filter accepts) // for (LogFilter * f = first(); f; f = next(f)) { if (!f-toss_this_entry(lad)) { return false; } } return true; } } {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira