Java Code Examples for java.util.logging.Logger#entering()

The following examples show how to use java.util.logging.Logger#entering() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: LogUtil.java    From MergeProcessor with Apache License 2.0 5 votes vote down vote up
/**
 * Log a method entry. This method is useful to log the method entry in 1 line.
 * 
 * @param params the parameters of the method
 */
public static void entering(Object... params) {
	final StackTraceElement stackTraceElement = getCause();
	final Logger logger = Logger.getLogger(stackTraceElement.getClassName());
	if (params.length == 0) {
		logger.entering(stackTraceElement.getClassName(), stackTraceElement.getMethodName());
	} else if (params.length == 1) {
		logger.entering(stackTraceElement.getClassName(), stackTraceElement.getMethodName(), params[0]);
	} else {
		logger.entering(stackTraceElement.getClassName(), stackTraceElement.getMethodName(), params);
	}
}
 
Example 2
Source File: AbstractLoggerTest.java    From logging-log4j2 with Apache License 2.0 5 votes vote down vote up
@Test
public void testFlowMessages() {
    final Logger flowLogger = Logger.getLogger("TestFlow");
    flowLogger.entering("com.example.TestSourceClass1", "testSourceMethod1(String)");
    flowLogger.entering("com.example.TestSourceClass2", "testSourceMethod2(String)", "TestParam");
    flowLogger.entering("com.example.TestSourceClass3", "testSourceMethod3(String)",
            new Object[] { "TestParam0", "TestParam1" });
    final List<LogEvent> events = flowAppender.getEvents();
    assertThat(events, hasSize(3));
    assertEquals("Enter", events.get(0).getMessage().getFormattedMessage());
    assertEquals("Enter params(TestParam)", events.get(1).getMessage().getFormattedMessage());
    assertEquals("Enter params(TestParam0, TestParam1)", events.get(2).getMessage().getFormattedMessage());
}
 
Example 3
Source File: LoggerEnteringWithParams.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
public static void main(String[] args) {
    Logger logger = Logger.getLogger("some.logger");
    TestHandler handler = new TestHandler();
    logger.setUseParentHandlers(false);
    handler.setLevel(Level.ALL);
    logger.setLevel(Level.FINEST);
    logger.addHandler(handler);

    // Auto-detect the line termination used by SimpleFormatter - (CR vs CRLF)
    logger.entering("test", "test");
    final String test = handler.bytes.toString();
    System.out.println(test);
    final String lineEnd = test.substring(test.indexOf("ENTRY")+"ENTRY".length());
    System.out.print("Line termination is " + lineEnd.length() + " char(s) long:");
    for (int i=0; i<lineEnd.length(); i++) {
        System.out.print(" code="+(int)lineEnd.charAt(i));
    }
    System.out.println();
    handler.reset();

    for (int i=0 ; i<=data.length; i++) {
        final StringBuilder b = new StringBuilder("ENTRY");
        final StringBuilder f = new StringBuilder("ENTRY");
        final Object[] params = new Object[i];
        for (int k=0; k<i; k++) {
            params[k] = data[k];
            b.append(' ').append(String.valueOf(params[k]));
            f.append(" {").append(String.valueOf(k)).append('}');
        }

        final String expected = b.toString();
        final String format = f.toString();
        final String className = "class"+i;
        final String methodName = "method"+i;

        logger.entering(className, methodName, params);
        final String logged = handler.bytes.toString();
        System.out.println("got:\n" + logged);

        if (!logged.contains(className)) {
            throw new RuntimeException("Marker for " + className
                    + " not found."
                    + "\n\tgot: <<\n" + logged + "\t     >>");
        }
        if (!logged.contains(methodName)) {
            throw new RuntimeException("Marker for " + methodName
                    + " not found."
                    + "\n\tgot: <<\n" + logged + "\t     >>");
        }
        if (!logged.contains(expected)) {
            throw new RuntimeException("Marker for parameters[size="
                    + i + "] not found"
                    + "\n\tgot: <<\n" + logged + "\t     >>");
        }
        if (!logged.contains(expected+lineEnd)) {
            throw new RuntimeException("Marker for parameters[size="
                    + i + "] has extra characters"
                    + "\n\tgot: <<\n" + logged + "\t     >>");
        }

        LogRecord record = handler.events.remove(0);
        if (!handler.events.isEmpty()) {
            throw new RuntimeException("Handler has more log records: "
                    + handler.events.toString());
        }
        if (!className.equals(record.getSourceClassName())) {
            throw new RuntimeException("Unexpected class name in LogRecord."
                    + "\n\texpected: " + className
                    + "\n\tgot: " + record.getSourceClassName());
        }
        if (!methodName.equals(record.getSourceMethodName())) {
            throw new RuntimeException("Unexpected method name in LogRecord."
                    + "\n\texpected: " + methodName
                    + "\n\tgot: " + record.getSourceMethodName());
        }
        if (!format.equals(record.getMessage())) {
            throw new RuntimeException("Unexpected message format in LogRecord."
                    + "\n\texpected: " + format
                    + "\n\tgot: " + record.getMessage());
        }
        if (!Arrays.deepEquals(params, record.getParameters())) {
            throw new RuntimeException("Unexpected parameter array in LogRecord."
                    + "\n\texpected: " + Arrays.toString(params)
                    + "\n\tgot: " + Arrays.toString(record.getParameters()));
        }

        handler.reset();
    }
}