Java 类ch.qos.logback.core.boolex.EvaluationException 实例源码
项目:bartleby
文件:EvaluatorFilter.java
public FilterReply decide(E event) {
// let us not throw an exception
// see also bug #17.
if (!isStarted() || !evaluator.isStarted()) {
return FilterReply.NEUTRAL;
}
try {
if (evaluator.evaluate(event)) {
return onMatch;
} else {
return onMismatch;
}
} catch (EvaluationException e) {
addError("Evaluator " + evaluator.getName() + " threw an exception", e);
return FilterReply.NEUTRAL;
}
}
项目:bartleby
文件:OnMarkerEvaluator.java
/**
* Return true if event passed as parameter contains one of the specified
* user-markers.
*/
public boolean evaluate(ILoggingEvent event) throws NullPointerException,
EvaluationException {
Marker eventsMarker = event.getMarker();
if (eventsMarker == null) {
return false;
}
for (String markerStr : markerList) {
if (eventsMarker.contains(markerStr)) {
return true;
}
}
return false;
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void testBogusExp2() {
jee.setExpression("mdc.get(\"keyXN89\").equals(null)");
jee.setName("bogus");
jee.start();
assertTrue(jee.isStarted());
ILoggingEvent event = makeLoggingEvent(null);
for (int i = 0; i < JaninoEventEvaluatorBase.ERROR_THRESHOLD; i++) {
try {
jee.evaluate(event);
fail("should throw an exception");
} catch (EvaluationException e) {
}
}
// after a few attempts the evaluator should processPriorToRemoval
assertFalse(jee.isStarted());
}
项目:bartleby
文件:EvaluatorJoranTest.java
@Test
public void testSimpleEvaluator() throws NullPointerException, EvaluationException, JoranException {
JoranConfigurator jc = new JoranConfigurator();
LoggerContext loggerContext = new LoggerContext();
jc.setContext(loggerContext);
jc.doConfigure(ClassicTestConstants.JORAN_INPUT_PREFIX + "simpleEvaluator.xml");
Map evalMap = (Map) loggerContext.getObject(CoreConstants.EVALUATOR_MAP);
assertNotNull(evalMap);
JaninoEventEvaluator evaluator = (JaninoEventEvaluator) evalMap.get("msgEval");
assertNotNull(evaluator);
Logger logger = loggerContext.getLogger("xx");
ILoggingEvent event0 = new LoggingEvent("foo", logger, Level.DEBUG, "Hello world", null, null);
assertTrue(evaluator.evaluate(event0));
ILoggingEvent event1 = new LoggingEvent("foo", logger, Level.DEBUG, "random blurb", null, null);
assertFalse(evaluator.evaluate(event1));
}
项目:bartleby
文件:EvaluatorJoranTest.java
@Test
public void testIgnoreMarker() throws NullPointerException, EvaluationException, JoranException {
JoranConfigurator jc = new JoranConfigurator();
LoggerContext loggerContext = new LoggerContext();
jc.setContext(loggerContext);
jc.doConfigure(ClassicTestConstants.JORAN_INPUT_PREFIX + "ignore.xml");
Map evalMap = (Map) loggerContext.getObject(CoreConstants.EVALUATOR_MAP);
assertNotNull(evalMap);
Logger logger = loggerContext.getLogger("xx");
JaninoEventEvaluator evaluator = (JaninoEventEvaluator) evalMap.get("IGNORE_EVAL");
LoggingEvent event = new LoggingEvent("foo", logger, Level.DEBUG, "Hello world",null, null);
Marker ignoreMarker = MarkerFactory.getMarker("IGNORE");
event.setMarker(ignoreMarker);
assertTrue(evaluator.evaluate(event));
logger.debug("hello", new Exception("test"));
logger.debug(ignoreMarker, "hello ignore", new Exception("test"));
//logger.debug("hello", new Exception("test"));
//StatusPrinter.print(loggerContext.getStatusManager());
}
项目:bartleby
文件:EvaluatorJoranTest.java
@Test
public void testMultipleConditionsInExpression() throws NullPointerException, EvaluationException {
LoggerContext loggerContext = new LoggerContext();
Logger logger = loggerContext.getLogger("xx");
JaninoEventEvaluator ee = new JaninoEventEvaluator();
ee.setName("testEval");
ee.setContext(loggerContext);
//&&
//&&
ee.setExpression("message.contains(\"stacktrace\") && message.contains(\"logging\")");
ee.start();
//StatusPrinter.print(loggerContext);
String message = "stacktrace bla bla logging";
ILoggingEvent event = new LoggingEvent(this.getClass().getName(), logger, Level.DEBUG, message, null, null);
assertTrue(ee.evaluate(event));
}
项目:easycode
文件:TimeIntervalEvaluator.java
@Override
public boolean evaluate(ILoggingEvent event) throws NullPointerException,
EvaluationException {
long current = System.currentTimeMillis()/1000;
if(event.getLevel().levelInt >= level.levelInt
&& current - last > interval
&& using.compareAndSet(false, true)) {
last = current;
using.set(false);
return true;
}
return false;
}
项目:easycode
文件:CounterBasedEvaluator.java
@Override
public boolean evaluate(ILoggingEvent event) throws NullPointerException,
EvaluationException {
if(event.getLevel().levelInt >= level.levelInt
&& counter.incrementAndGet() == limit) {
counter.set(NumberUtils.INTEGER_ZERO);
return true;
}
return false;
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void withNullMarker_LBCORE_118() throws Exception {
jee.setExpression("marker.contains(\"BLUE\")");
jee.start();
ILoggingEvent event = makeLoggingEvent(null);
try {
jee.evaluate(event);
fail("We should not reach this point");
} catch (EvaluationException ee) {
// received an exception as expected
}
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void throwable_LBCLASSIC_155_I() throws EvaluationException {
jee.setExpression("throwable instanceof java.io.IOException");
jee.start();
LoggingEvent event = makeLoggingEvent(new IOException(""));
assertTrue(jee.evaluate(event));
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void throwable_LBCLASSIC_155_II() throws EvaluationException {
jee.setExpression("throwableProxy.getClassName().contains(\"IO\")");
jee.start();
LoggingEvent event = makeLoggingEvent(new IOException(""));
assertTrue(jee.evaluate(event));
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void nullMDC() throws EvaluationException {
MDC.clear();
jee.setExpression("mdc.isEmpty()");
jee.start();
LoggingEvent event = makeLoggingEvent(null);
assertTrue(jee.evaluate(event));
}
项目:bartleby
文件:GEventEvaluatorTest.java
void doEvaluateAndCheck(String expression, ILoggingEvent event, boolean expected) throws EvaluationException {
gee.setExpression(expression);
gee.start();
StatusPrinter.printInCaseOfErrorsOrWarnings(context);
assertTrue(statusChecker.isErrorFree(0));
ContextUtil contextUtil = new ContextUtil(context);
contextUtil.addGroovyPackages(context.getFrameworkPackages());
contextUtil.addFrameworkPackage(context.getFrameworkPackages(), "ch.qos.logback.classic.boolex");
boolean result = gee.evaluate(event);
assertEquals(expected, result);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void msgRegex() throws EvaluationException {
LoggingEvent event = makeEvent("Hello world");
// partial match
doEvaluateAndCheck("e.message =~ /xyz|wor/", event, true);
// full match
doEvaluateAndCheck("e.message ==~ /xyz|wor/", event, false);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void mdc() throws EvaluationException {
MDC.put("key", "val");
LoggingEvent event = makeEvent("x");
doEvaluateAndCheck("e.mdc['key'] == 'val'", event, true);
MDC.clear();
}
项目:bartleby
文件:GEventEvaluatorTest.java
double loop(GEventEvaluator gee) throws EvaluationException {
long start = System.nanoTime();
ILoggingEvent event = makeEvent("x");
for (int i = 0; i < LEN; i++) {
gee.evaluate(event);
}
long end = System.nanoTime();
return (end - start) / LEN;
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
@Ignore
public void MANUAL_perfTest() throws EvaluationException {
gee.setExpression("event.timeStamp < 100 && event.message != 'xx' ");
gee.start();
loop(gee);
loop(gee);
double avgDuration = loop(gee);
long referencePerf = 500;
BogoPerf.assertDuration(avgDuration, referencePerf,
CoreConstants.REFERENCE_BIPS);
System.out.println("Average duration " + avgDuration);
}
项目:bartleby
文件:OnMarkerEvaluatorTest.java
@Test
public void smoke() throws EvaluationException {
evaluator.addMarker("M");
evaluator.start();
event.setMarker(MarkerFactory.getMarker("M"));
assertTrue(evaluator.evaluate(event));
}
项目:bartleby
文件:CounterBasedEvaluator.java
public boolean evaluate(Object event) throws NullPointerException,
EvaluationException {
counter++;
if (counter == limit) {
counter = 0;
return true;
} else {
return false;
}
}
项目:bartleby
文件:CounterBasedEvaluator.java
public boolean evaluate(Object event) throws NullPointerException,
EvaluationException {
counter++;
if (counter == LIMIT) {
counter = 0;
return true;
} else {
return false;
}
}
项目:bartleby
文件:URLEvaluator.java
@Override
public boolean evaluate(Object eventObject) throws NullPointerException, EvaluationException {
IAccessEvent event = (IAccessEvent)eventObject;
String url = event.getRequestURL();
for(String expected:URLList) {
if (url.contains(expected)) {
return true;
}
}
return false;
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void smoke() throws EvaluationException {
evaluator.setExpression("event.getProtocol().equals(\"testProtocol\")");
evaluator.start();
IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue( evaluator.evaluate(ae));
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void block() throws EvaluationException {
evaluator.setExpression("String protocol = event.getProtocol();" +
"return protocol.equals(\"testProtocol\");");
evaluator.start();
IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue(evaluator.evaluate(ae));
}
项目:bartleby
文件:JaninoEventEvaluatorTest.java
@Test
public void invalidExpression() throws EvaluationException {
evaluator.setExpression("return true");
evaluator.start();
IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
try {
evaluator.evaluate(ae);
fail("Was expecting an exception");
} catch (IllegalStateException e) {
}
}
项目:bartleby
文件:URLEvaluatorTest.java
@Test
public void testExpectTrueMultiple() throws EvaluationException {
evaluator.addURL(expectedURL2);
request.setRequestUri(expectedURL2);
IAccessEvent ae = new AccessEvent(request, response, serverAdapter);
assertTrue(evaluator.evaluate(ae));
}
项目:lemon
文件:SMTPAppenderBase.java
/**
* Perform SMTPAppender specific appending actions, delegating some of them to a subclass and checking if the event
* triggers an e-mail to be sent.
*/
protected void append(E eventObject) {
if (!checkEntryConditions()) {
return;
}
String key = discriminator.getDiscriminatingValue(eventObject);
long now = System.currentTimeMillis();
final CyclicBuffer<E> cb = cbTracker.getOrCreate(key, now);
subAppend(cb, eventObject);
try {
if (eventEvaluator.evaluate(eventObject)) {
// clone the CyclicBuffer before sending out asynchronously
CyclicBuffer<E> cbClone = new CyclicBuffer<E>(cb);
// see http://jira.qos.ch/browse/LBCLASSIC-221
cb.clear();
if (asynchronousSending) {
// perform actual sending asynchronously
SenderRunnable senderRunnable = new SenderRunnable(cbClone,
eventObject);
context.getExecutorService().execute(senderRunnable);
} else {
// synchronous sending
sendBuffer(cbClone, eventObject);
}
}
} catch (EvaluationException ex) {
errorCount++;
if (errorCount < CoreConstants.MAX_ERROR_COUNT) {
addError("SMTPAppender's EventEvaluator threw an Exception-",
ex);
}
}
// immediately remove the buffer if asked by the user
if (eventMarksEndOfLife(eventObject)) {
cbTracker.endOfLife(key);
}
cbTracker.removeStaleComponents(now);
if ((lastTrackerStatusPrint + delayBetweenStatusMessages) < now) {
addInfo("SMTPAppender [" + name + "] is tracking ["
+ cbTracker.getComponentCount() + "] buffers");
lastTrackerStatusPrint = now;
// quadruple 'delay' assuming less than max delay
if (delayBetweenStatusMessages < MAX_DELAY_BETWEEN_STATUS_MESSAGES) {
delayBetweenStatusMessages *= 4;
}
}
}
项目:easycode
文件:OnWarnEvaluator.java
public boolean evaluate(ILoggingEvent event) throws NullPointerException,
EvaluationException {
return event.getLevel().levelInt >= Level.WARN_INT;
}
项目:bartleby
文件:SMTPAppenderBase.java
/**
* Perform SMTPAppender specific appending actions, delegating some of them to
* a subclass and checking if the event triggers an e-mail to be sent.
*/
protected void append(E eventObject) {
if (!checkEntryConditions()) {
return;
}
String key = discriminator.getDiscriminatingValue(eventObject);
long now = System.currentTimeMillis();
final CyclicBuffer<E> cb = cbTracker.getOrCreate(key, now);
subAppend(cb, eventObject);
try {
if (eventEvaluator.evaluate(eventObject)) {
// clone the CyclicBuffer before sending out asynchronously
CyclicBuffer<E> cbClone = new CyclicBuffer<E>(cb);
// see http://jira.qos.ch/browse/LBCLASSIC-221
cb.clear();
if (asynchronousSending) {
// perform actual sending asynchronously
SenderRunnable senderRunnable = new SenderRunnable(cbClone, eventObject);
context.getExecutorService().execute(senderRunnable);
} else {
// synchronous sending
sendBuffer(cbClone, eventObject);
}
}
} catch (EvaluationException ex) {
errorCount++;
if (errorCount < CoreConstants.MAX_ERROR_COUNT) {
addError("SMTPAppender's EventEvaluator threw an Exception-", ex);
}
}
// immediately remove the buffer if asked by the user
if (eventMarksEndOfLife(eventObject)) {
cbTracker.endOfLife(key);
}
cbTracker.removeStaleComponents(now);
if (lastTrackerStatusPrint + delayBetweenStatusMessages < now) {
addInfo("SMTPAppender [" + name + "] is tracking [" + cbTracker.getComponentCount() + "] buffers");
lastTrackerStatusPrint = now;
// quadruple 'delay' assuming less than max delay
if (delayBetweenStatusMessages < MAX_DELAY_BETWEEN_STATUS_MESSAGES) {
delayBetweenStatusMessages *= 4;
}
}
}
项目:bartleby
文件:CallerDataConverter.java
public String convert(ILoggingEvent le) {
StringBuilder buf = new StringBuilder();
if (evaluatorList != null) {
boolean printCallerData = false;
for (int i = 0; i < evaluatorList.size(); i++) {
EventEvaluator<ILoggingEvent> ee = evaluatorList.get(i);
try {
if (ee.evaluate(le)) {
printCallerData = true;
break;
}
} catch (EvaluationException eex) {
errorCount++;
if (errorCount < MAX_ERROR_COUNT) {
addError("Exception thrown for evaluator named [" + ee.getName()
+ "]", eex);
} else if (errorCount == MAX_ERROR_COUNT) {
ErrorStatus errorStatus = new ErrorStatus(
"Exception thrown for evaluator named [" + ee.getName() + "].",
this, eex);
errorStatus.add(new ErrorStatus(
"This was the last warning about this evaluator's errors."
+ "We don't want the StatusManager to get flooded.", this));
addStatus(errorStatus);
}
}
}
if (!printCallerData) {
return CoreConstants.EMPTY_STRING;
}
}
StackTraceElement[] cda = le.getCallerData();
if (cda != null && cda.length > depthStart) {
int limit = depthEnd < cda.length ? depthEnd : cda.length;
for (int i = depthStart; i < limit; i++) {
buf.append(getCallerLinePrefix());
buf.append(i);
buf.append("\t at ");
buf.append(cda[i]);
buf.append(CoreConstants.LINE_SEPARATOR);
}
return buf.toString();
} else {
return CallerData.CALLER_DATA_NA;
}
}
项目:bartleby
文件:ThrowableProxyConverter.java
public String convert(ILoggingEvent event) {
IThrowableProxy tp = event.getThrowableProxy();
if (tp == null) {
return CoreConstants.EMPTY_STRING;
}
// an evaluator match will cause stack printing to be skipped
if (evaluatorList != null) {
boolean printStack = true;
for (int i = 0; i < evaluatorList.size(); i++) {
EventEvaluator<ILoggingEvent> ee = evaluatorList.get(i);
try {
if (ee.evaluate(event)) {
printStack = false;
break;
}
} catch (EvaluationException eex) {
errorCount++;
if (errorCount < CoreConstants.MAX_ERROR_COUNT) {
addError("Exception thrown for evaluator named [" + ee.getName()
+ "]", eex);
} else if (errorCount == CoreConstants.MAX_ERROR_COUNT) {
ErrorStatus errorStatus = new ErrorStatus(
"Exception thrown for evaluator named [" + ee.getName() + "].",
this, eex);
errorStatus.add(new ErrorStatus(
"This was the last warning about this evaluator's errors."
+ "We don't want the StatusManager to get flooded.", this));
addStatus(errorStatus);
}
}
}
if (!printStack) {
return CoreConstants.EMPTY_STRING;
}
}
return throwableProxyToString(tp);
}
项目:bartleby
文件:OnErrorEvaluator.java
/**
* Return true if event passed as parameter has level ERROR or higher, returns
* false otherwise.
*/
public boolean evaluate(ILoggingEvent event) throws NullPointerException,
EvaluationException {
return event.getLevel().levelInt >= Level.ERROR_INT;
}
项目:bartleby
文件:GEventEvaluator.java
public boolean evaluate(ILoggingEvent event) throws NullPointerException, EvaluationException {
if (delegateEvaluator == null) {
return false;
}
return delegateEvaluator.doEvaluate(event);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void smoke() throws EvaluationException {
doEvaluateAndCheck("1==1", null, true);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void level() throws EvaluationException {
LoggingEvent event = makeEvent("x");
doEvaluateAndCheck("e.level == DEBUG", event, true);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void nullMarker() throws EvaluationException {
LoggingEvent event = makeEvent("x");
doEvaluateAndCheck("e.marker?.name == 'YELLOW'", event, false);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void marker() throws EvaluationException {
LoggingEvent event = makeEvent("x");
event.setMarker(markerA);
doEvaluateAndCheck("e.marker?.name == 'A'", event, true);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void nullMDC() throws EvaluationException {
LoggingEvent event = makeEvent("x");
doEvaluateAndCheck("e.mdc?.get('key') == 'val'", event, false);
}
项目:bartleby
文件:GEventEvaluatorTest.java
@Test
public void callerData() throws EvaluationException {
LoggingEvent event = makeEvent("x");
doEvaluateAndCheck("e.callerData.find{ it.className =~ /junit/ }", event, true);
}
项目:bartleby
文件:OnMarkerEvaluatorTest.java
@Test
public void nullMarkerInEvent() throws EvaluationException {
evaluator.addMarker("M");
evaluator.start();
assertFalse(evaluator.evaluate(event));
}
项目:bartleby
文件:OnMarkerEvaluatorTest.java
@Test
public void nullMarkerInEvaluator() throws EvaluationException {
evaluator.addMarker("M");
evaluator.start();
assertFalse(evaluator.evaluate(event));
}