Package org.apache.logging.log4j.core.impl

Examples of org.apache.logging.log4j.core.impl.Log4jLogEvent


            "false", "false", layout, null, "false", null, null);
        final Thread t = Thread.currentThread();
        app.start();
        assertTrue("Appender did not start", app.isStarted());
        for (int i=0; i < count; ++i) {
            final LogEvent event = new Log4jLogEvent("TestLogger", null, FileAppenderTest.class.getName(), Level.INFO,
                new SimpleMessage("Test"), null, null, null, name, null, System.currentTimeMillis());
            try {
                app.append(event);
                t.sleep(25)// Give up control long enough for another thread/process to occasionally do something.
            } catch (final Exception ex) {
View Full Code Here


    @Test
    public void testFull() {
        final RootThrowablePatternConverter converter = RootThrowablePatternConverter.newInstance(null);
        final Throwable cause = new NullPointerException("null pointer");
        final Throwable parent = new IllegalArgumentException("IllegalArgument", cause);
        final LogEvent event = new Log4jLogEvent("testLogger", null, this.getClass().getName(), Level.DEBUG,
            new SimpleMessage("test exception"), parent);
        final StringBuilder sb = new StringBuilder();
        converter.format(event, sb);
        final String result = sb.toString();
        //System.out.print(result);
View Full Code Here


    @Test
    public void testLevel() {
        final Message msg = new SimpleMessage("Hello");
        LogEvent event = new Log4jLogEvent("MyLogger", null, null, Level.DEBUG, msg, null);
        final StringBuilder sb = new StringBuilder();
        LevelPatternConverter converter = LevelPatternConverter.newInstance(null);
        converter.format(event, sb);
        assertEquals(Level.DEBUG.toString(), sb.toString());
        final String[] opts = new String[] {"WARN=Warning, DEBUG=Debug, ERROR=Error, TRACE=Trace, INFO=Info"};
        converter = LevelPatternConverter.newInstance(opts);
        sb.setLength(0);
        converter.format(event, sb);
        assertEquals("Debug", sb.toString());
        event = new Log4jLogEvent("MyLogger", null, null, Level.WARN, msg, null);
        sb.setLength(0);
        converter.format(event, sb);
        assertEquals("Warning", sb.toString());
    }
View Full Code Here

        filter.start();
        assertTrue(filter.isStarted());
        final Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("America/LosAngeles"));
        cal.set(Calendar.HOUR_OF_DAY, 02);
        long tod = cal.getTimeInMillis();
        LogEvent event = new Log4jLogEvent(null, null, null, null, null, null, null, null, null, null, tod);
        assertTrue(filter.filter(null, Level.ERROR, null, null, (Throwable)null) == Filter.Result.NEUTRAL);
        assertTrue(filter.filter(event) == Filter.Result.NEUTRAL);
        cal.roll(Calendar.DAY_OF_MONTH, true);
        tod = cal.getTimeInMillis();
        event = new Log4jLogEvent(null, null, null, null, null, null, null, null, null, null, tod);
        assertTrue(filter.filter(event) == Filter.Result.NEUTRAL);
        cal.set(Calendar.HOUR_OF_DAY, 04);
        tod = cal.getTimeInMillis();
        event = new Log4jLogEvent(null, null, null, null, null, null, null, null, null, null, tod);
        assertTrue(filter.filter(event) == Filter.Result.DENY);
    }
View Full Code Here

    @Test
    public void testPolicy() {
        OnStartupTriggeringPolicy policy = OnStartupTriggeringPolicy.createPolicy();
        final MyRollingManager manager = new MyRollingManager(policy, null);
        manager.setFileTime(System.currentTimeMillis() - 36000000);
        final LogEvent event = new Log4jLogEvent(null, null, null, Level.ERROR, new SimpleMessage("Test"), null);
        assertTrue("Expected trigger to succeed", policy.isTriggeringEvent(event));
        assertTrue("Expected trigger not to fire", !policy.isTriggeringEvent(event));
        policy = OnStartupTriggeringPolicy.createPolicy();
        policy.initialize(manager);
        manager.setFileTime(System.currentTimeMillis());
View Full Code Here

        assertTrue(filter.filter(null, Level.DEBUG, null, null, (Throwable)null) == Filter.Result.NEUTRAL);
        assertTrue(filter.filter(null, Level.ERROR, null, null, (Throwable)null) == Filter.Result.NEUTRAL);
        ThreadContext.clear();
        ThreadContext.put("userid", "JohnDoe");
        ThreadContext.put("organization", "apache");
        LogEvent event = new Log4jLogEvent(null, null, null, Level.DEBUG, new SimpleMessage("Test"), null);
        assertTrue(filter.filter(event) == Filter.Result.DENY);
        event = new Log4jLogEvent(null, null, null, Level.ERROR, new SimpleMessage("Test"), null);
        assertTrue(filter.filter(event) == Filter.Result.NEUTRAL);
        ThreadContext.clear();
    }
View Full Code Here

            if (!(logEvent instanceof RingBufferLogEvent)) {
                return; // only know how to Serialize Log4jLogEvents and RingBufferLogEvents
            }
            logEvent = ((RingBufferLogEvent) logEvent).createMemento();
        }
        Log4jLogEvent coreEvent = (Log4jLogEvent) logEvent;
        boolean appendSuccessful = false;
        if (blocking) {
            if (isAppenderThread.get() == Boolean.TRUE && queue.remainingCapacity() == 0) {
                // LOG4J2-485: avoid deadlock that would result from trying
                // to add to a full queue from appender thread
                coreEvent.setEndOfBatch(false); // queue is definitely not empty!
                appendSuccessful = thread.callAppenders(coreEvent);
            } else {
                try {
                    // wait for free slots in the queue
                    queue.put(Log4jLogEvent.serialize(coreEvent, includeLocation));
View Full Code Here

                    }
                } catch (final InterruptedException ex) {
                    // No good reason for this.
                    continue;
                }
                final Log4jLogEvent event = Log4jLogEvent.deserialize(s);
                event.setEndOfBatch(queue.isEmpty());
                boolean success = callAppenders(event);
                if (!success && errorAppender != null) {
                    try {
                        errorAppender.callAppender(event);
                    } catch (final Exception ex) {
                        // Silently accept the error.
                    }
                }
            }
            // Process any remaining items in the queue.
            LOGGER.trace("AsyncAppender.AsyncThread shutting down. Processing remaining {} queue events.",
                    queue.size());
            int count= 0;
            int ignored = 0;
            while (!queue.isEmpty()) {
                try {
                    final Serializable s = queue.take();
                    if (Log4jLogEvent.canDeserialize(s)) {
                        final Log4jLogEvent event = Log4jLogEvent.deserialize(s);
                        event.setEndOfBatch(queue.isEmpty());
                        callAppenders(event);
                        count++;
                    } else {
                        ignored++;
                        LOGGER.trace("Ignoring event of class {}", s.getClass().getName());
View Full Code Here

     * @return a new immutable copy of the data in this {@code RingBufferLogEvent}
     */
    public LogEvent createMemento() {
        // Ideally, would like to use the LogEventFactory here but signature does not match:
        // results in factory re-creating the timestamp, context map and context stack, which we don't want.
        return new Log4jLogEvent(loggerName, marker, fqcn, level, message, thrown, contextMap, contextStack,
                threadName, location, currentTimeMillis);
    }
View Full Code Here

    public final void formatFileName(final StrSubstitutor subst, final StringBuilder buf, final Object obj) {
        // LOG4J2-628: we deliberately use System time, not the log4j.Clock time
        // for creating the file name of rolled-over files.
        final long time = prevFileTime == 0 ? System.currentTimeMillis() : prevFileTime;
        formatFileName(buf, new Date(time), obj);
        LogEvent event = new Log4jLogEvent(time);
        String fileName = subst.replace(event, buf);
        buf.setLength(0);
        buf.append(fileName);
    }
View Full Code Here

TOP

Related Classes of org.apache.logging.log4j.core.impl.Log4jLogEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.