/** OrRule.getRule(Stack) throws exception if only one rule provided. */ public void test1() { Stack stack = new Stack(); stack.push(LevelEqualsRule.getRule("INFO")); try { OrRule.getRule(stack); fail("Should have thrown IllegalArgumentException"); } catch (IllegalArgumentException ex) { } }
/** * Create new instance. * * @param p1 field, special treatment for level and timestamp. * @param p2 value * @return new instance */ public static Rule getRule(final String p1, final String p2) { if (p1.equalsIgnoreCase(LoggingEventFieldResolver.LEVEL_FIELD)) { return LevelEqualsRule.getRule(p2); } else if (p1.equalsIgnoreCase(LoggingEventFieldResolver.TIMESTAMP_FIELD) || p1.equalsIgnoreCase(LoggingEventFieldResolver.DATE_FIELD)) { return TimestampEqualsRule.getRule(p2); } else if (p1.equalsIgnoreCase(LoggingEventFieldResolver.MARK_FIELD)) { return MarkEqualsRule.getRule(p2, false); } else { return new EqualsRule(p1, p2); } }
/** Test deserialized Not. */ public void test5() throws IOException, ClassNotFoundException { Stack stack = new Stack(); stack.push(LevelEqualsRule.getRule("INFO")); Rule rule = (Rule) SerializationTestHelper.serializeClone(NotRule.getRule(stack)); assertEquals(0, stack.size()); Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); LoggingEvent event = new LoggingEvent( "org.apache.log4j.Logger", Logger.getRootLogger(), cal.getTimeInMillis(), Level.INFO, "Hello, World", null); assertFalse(rule.evaluate(event, null)); }
/** Test Not of Level when Level does not match. */ public void test4() { Stack stack = new Stack(); stack.push(LevelEqualsRule.getRule("INFO")); Rule rule = NotRule.getRule(stack); assertEquals(0, stack.size()); Calendar cal = new GregorianCalendar(2008, 04, 21, 00, 45, 44); LoggingEvent event = new LoggingEvent( "org.apache.log4j.Logger", Logger.getRootLogger(), cal.getTimeInMillis(), Level.WARN, "Hello, World", null); assertTrue(rule.evaluate(event, null)); }