Search in sources :

Example 26 with Method

use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.

the class SLF4JBridgeHandler method callPlainSLF4JLogger.

// nature of log args
@SuppressFBWarnings("UCC_UNRELATED_COLLECTION_CONTENTS")
private static void callPlainSLF4JLogger(final Logger slf4jLogger, final LogRecord record) {
    int julLevelValue = record.getLevel().intValue();
    if (julLevelValue <= TRACE_LEVEL_THRESHOLD) {
        if (!slf4jLogger.isTraceEnabled()) {
            return;
        }
    } else if (julLevelValue <= DEBUG_LEVEL_THRESHOLD) {
        if (!slf4jLogger.isDebugEnabled()) {
            return;
        }
    } else if (julLevelValue <= INFO_LEVEL_THRESHOLD) {
        if (!slf4jLogger.isInfoEnabled()) {
            return;
        }
    } else if (julLevelValue <= WARN_LEVEL_THRESHOLD) {
        if (!slf4jLogger.isWarnEnabled()) {
            return;
        }
    } else {
        if (!slf4jLogger.isErrorEnabled()) {
            return;
        }
    }
    Pair<String, Object[]> message = getMessageI18N(record);
    Object[] args = message.getSecond();
    if (args == null || args.length == 0) {
        logEfficient(message.getFirst(), record, slf4jLogger);
    } else {
        Throwable thrown = record.getThrown();
        Method m = getSourceMethodInfo(record);
        Object[] pargs;
        if (m == null) {
            if (thrown == null) {
                pargs = args;
            } else {
                pargs = java.util.Arrays.copyOf(args, args.length + 1);
                pargs[args.length] = thrown;
            }
        } else {
            if (thrown == null) {
                pargs = java.util.Arrays.copyOf(args, args.length + 1);
                pargs[args.length] = m;
            } else {
                pargs = java.util.Arrays.copyOf(args, args.length + 2);
                pargs[args.length] = m;
                pargs[args.length + 1] = thrown;
            }
        }
        if (julLevelValue <= TRACE_LEVEL_THRESHOLD) {
            slf4jLogger.trace(message.getFirst(), pargs);
        } else if (julLevelValue <= DEBUG_LEVEL_THRESHOLD) {
            slf4jLogger.debug(message.getFirst(), pargs);
        } else if (julLevelValue <= INFO_LEVEL_THRESHOLD) {
            slf4jLogger.info(message.getFirst(), pargs);
        } else if (julLevelValue <= WARN_LEVEL_THRESHOLD) {
            slf4jLogger.warn(message.getFirst(), pargs);
        } else {
            slf4jLogger.error(message.getFirst(), pargs);
        }
    }
}
Also used : Method(org.spf4j.base.avro.Method) SuppressFBWarnings(edu.umd.cs.findbugs.annotations.SuppressFBWarnings)

Example 27 with Method

use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.

the class SLF4JBridgeHandler method logEfficient.

public static void logEfficient(final String i18nMessage, final LogRecord record, final Logger slf4jLogger) {
    int julLevelValue = record.getLevel().intValue();
    Throwable thrown = record.getThrown();
    Method m = getSourceMethodInfo(record);
    if (thrown != null) {
        if (julLevelValue <= TRACE_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.trace(i18nMessage, m, thrown);
            } else {
                slf4jLogger.trace(i18nMessage, thrown);
            }
        } else if (julLevelValue <= DEBUG_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.debug(i18nMessage, m, thrown);
            } else {
                slf4jLogger.debug(i18nMessage, thrown);
            }
        } else if (julLevelValue <= INFO_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.info(i18nMessage, m, thrown);
            } else {
                slf4jLogger.info(i18nMessage, thrown);
            }
        } else if (julLevelValue <= WARN_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.warn(i18nMessage, m, thrown);
            } else {
                slf4jLogger.warn(i18nMessage, thrown);
            }
        } else {
            if (m != null) {
                slf4jLogger.error(i18nMessage, m, thrown);
            } else {
                slf4jLogger.error(i18nMessage, thrown);
            }
        }
    } else {
        if (julLevelValue <= TRACE_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.trace(i18nMessage, m);
            } else {
                slf4jLogger.trace(i18nMessage);
            }
        } else if (julLevelValue <= DEBUG_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.debug(i18nMessage, m);
            } else {
                slf4jLogger.debug(i18nMessage);
            }
        } else if (julLevelValue <= INFO_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.info(i18nMessage, m);
            } else {
                slf4jLogger.info(i18nMessage);
            }
        } else if (julLevelValue <= WARN_LEVEL_THRESHOLD) {
            if (m != null) {
                slf4jLogger.warn(i18nMessage, m);
            } else {
                slf4jLogger.warn(i18nMessage);
            }
        } else {
            if (m != null) {
                slf4jLogger.error(i18nMessage, m);
            } else {
                slf4jLogger.error(i18nMessage);
            }
        }
    }
}
Also used : Method(org.spf4j.base.avro.Method)

Example 28 with Method

use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.

the class TestLoggerFactoryTest method testLoggingJul.

@Test
public void testLoggingJul() {
    LogAssert expect = TestLoggers.sys().expect("my.test", Level.DEBUG, LogMatchers.hasFormat("Bla Bla"), LogMatchers.hasFormat("Boo Boo {}"), Matchers.allOf(LogMatchers.hasFormat("test source"), LogMatchers.hasExtraArguments(new Method(TestLoggerFactoryTest.class.getName(), "testLoggingJul"))));
    java.util.logging.Logger logger = java.util.logging.Logger.getLogger("my.test");
    logger.info("Bla Bla");
    logger.log(java.util.logging.Level.FINE, "Boo Boo {0}", "param");
    logger.logp(java.util.logging.Level.INFO, TestLoggerFactoryTest.class.getName(), "testLoggingJul", "test source");
    expect.assertObservation();
}
Also used : Method(org.spf4j.base.avro.Method) Test(org.junit.Test)

Example 29 with Method

use of org.spf4j.base.avro.Method in project spf4j by zolyfarkas.

the class Converter method fromProtoToSampleNode.

public static SampleNode fromProtoToSampleNode(final ProtoSampleNodes.SampleNodeOrBuilder node) {
    SampleNode result = new SampleNode(node.getCount());
    List<ProtoSampleNodes.SamplePair> sns = node.getSubNodesList();
    if (sns != null) {
        for (ProtoSampleNodes.SamplePair pair : sns) {
            final ProtoSampleNodes.Method method = pair.getMethod();
            result.put(new Method(method.getDeclaringClass(), method.getMethodName()), fromProtoToSampleNode(pair.getNode()));
        }
    }
    return result;
}
Also used : ProtoSampleNodes(org.spf4j.stackmonitor.proto.gen.ProtoSampleNodes) SampleNode(org.spf4j.stackmonitor.SampleNode) Method(org.spf4j.base.avro.Method)

Aggregations

Method (org.spf4j.base.avro.Method)29 Test (org.junit.Test)8 SampleNode (org.spf4j.stackmonitor.SampleNode)8 SuppressFBWarnings (edu.umd.cs.findbugs.annotations.SuppressFBWarnings)6 Map (java.util.Map)5 TMap (gnu.trove.map.TMap)3 IOException (java.io.IOException)3 Pair (org.spf4j.base.Pair)3 JsonParser (com.fasterxml.jackson.core.JsonParser)2 TIntObjectHashMap (gnu.trove.map.hash.TIntObjectHashMap)2 Point (java.awt.Point)2 BufferedReader (java.io.BufferedReader)2 StringReader (java.io.StringReader)2 UncheckedIOException (java.io.UncheckedIOException)2 Nullable (javax.annotation.Nullable)2 StackSampleElement (org.spf4j.base.avro.StackSampleElement)2 AvroStackSampleSupplier (org.spf4j.stackmonitor.AvroStackSampleSupplier)2 JsonParseException (com.fasterxml.jackson.core.JsonParseException)1 JsonToken (com.fasterxml.jackson.core.JsonToken)1 Clipboard (java.awt.datatransfer.Clipboard)1