Skip to content

Commit

Permalink
fix #445 upgrade to log4j2. Sqlg only uses log4j as part of the tests…
Browse files Browse the repository at this point in the history
…, sqlg-core only uses slf4j
  • Loading branch information
pietermartin committed Feb 2, 2022
1 parent 1a112e8 commit ada5495
Show file tree
Hide file tree
Showing 11 changed files with 215 additions and 112 deletions.
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
<sqlg.version>2.1.6-SNAPSHOT</sqlg.version>
<tinkerpop.version>3.5.1</tinkerpop.version>
<slf4j.version>1.7.25</slf4j.version>
<log4j2.version>2.17.0</log4j2.version>
<junit.version>4.13.2</junit.version>
</properties>
<developers>
Expand Down
21 changes: 18 additions & 3 deletions sqlg-gremlin-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@
<groupId>org.umlg</groupId>
<artifactId>sqlg-postgres</artifactId>
</dependency>
<dependency>
<groupId>org.umlg</groupId>
<artifactId>sqlg-c3p0</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tinkerpop</groupId>
<artifactId>gremlin-server</artifactId>
Expand All @@ -31,9 +36,19 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
</dependency>
</dependencies>

Expand Down
11 changes: 0 additions & 11 deletions sqlg-gremlin-server/src/test/resources/log4j.properties

This file was deleted.

20 changes: 20 additions & 0 deletions sqlg-gremlin-server/src/test/resources/log4j2-test.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<Log4j2TestAppender name="Log4j2TestAppender" />
</Appenders>
<Loggers>
<Logger name="com.mchange" level="error" />
<Logger name="org.umlg.sqlg" level="info">
<AppenderRef ref="Log4j2TestAppender"/>
</Logger>
<Logger name="hsqldb.db" level="warn" />
<Root level="info">
<AppenderRef ref="Console"/>
<AppenderRef ref="Log4j2TestAppender"/>
</Root>
</Loggers>
</Configuration>
16 changes: 13 additions & 3 deletions sqlg-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,19 @@
<artifactId>commons-io</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j2.version}</version>
</dependency>
</dependencies>

Expand Down
4 changes: 2 additions & 2 deletions sqlg-test/src/main/java/org/umlg/sqlg/AnyTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.umlg.sqlg.test.topology.TestPartitioning;
import org.umlg.sqlg.test.idstep.TestIdStep;

/**
* Date: 2014/07/16
* Time: 12:10 PM
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestPartitioning.class
TestIdStep.class
})
public class AnyTest {
}
58 changes: 58 additions & 0 deletions sqlg-test/src/main/java/org/umlg/sqlg/Log4j2TestAppender.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package org.umlg.sqlg;

import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Core;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;

import java.util.LinkedList;

@Plugin(
name = "Log4j2TestAppender",
category = Core.CATEGORY_NAME,
elementType = Appender.ELEMENT_TYPE)
public class Log4j2TestAppender extends AbstractAppender {

private static final LinkedList<LogEvent> eventList = new LinkedList<>();

public static LogEvent last(String name) {
synchronized (eventList) {
if (eventList.isEmpty()) {
return null;
}
LogEvent evt = eventList.removeLast();
while (evt != null && evt.getLoggerName() != null && !evt.getLoggerName().equals(name)) {
evt = eventList.removeLast();
}
eventList.clear();
return evt;
}
}

protected Log4j2TestAppender(String name, Filter filter) {
super(name, filter, null, true, null);
}

@PluginFactory
public static Log4j2TestAppender createAppender(
@PluginAttribute("name") String name,
@PluginElement("Filter") Filter filter) {
return new Log4j2TestAppender(name, filter);
}

@Override
public void append(LogEvent event) {
synchronized (eventList) {
eventList.add(event);
// keep memory low, since we want the last event usually anyway
if (eventList.size() > 10) {
eventList.removeFirst();
}
}
}
}
116 changes: 56 additions & 60 deletions sqlg-test/src/main/java/org/umlg/sqlg/TestAppender.java
Original file line number Diff line number Diff line change
@@ -1,69 +1,65 @@
package org.umlg.sqlg;

import java.util.LinkedList;

import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;

/**
* Test appender to capture some explicit messages
* @author JP Moresmau
*
*/
public class TestAppender extends AppenderSkeleton {
private static final LinkedList<LoggingEvent> eventsList = new LinkedList<>();

public static LinkedList<LoggingEvent> getEventsList() {
return eventsList;
}

/**
* get last event of the given name AND CLEARS THE LIST
*
* @param name the event name (class where event was logged)
* @return the event or null if none
*/
public static LoggingEvent getLast(String name){
synchronized (eventsList) {
if (eventsList.isEmpty()){
return null;
}
LoggingEvent evt=eventsList.removeLast();
while (evt!=null && !evt.getLoggerName().equals(name)){
evt=eventsList.removeLast();
}
eventsList.clear();
return evt;
}
}

public TestAppender() {

}

public TestAppender(boolean isActive) {
super(isActive);
}

@Override
public void close() {

}

@Override
public boolean requiresLayout() {
return false;
}

@Override
protected void append(LoggingEvent event) {
synchronized (eventsList) {
eventsList.add(event);
// keep memory low, since we want the last event usually anyway
if (eventsList.size()>10){
eventsList.removeFirst();
}
}
}
public class TestAppender {
//public class TestAppender extends AppenderSkeleton {
// private static final LinkedList<LoggingEvent> eventsList = new LinkedList<>();
//
// public static LinkedList<LoggingEvent> getEventsList() {
// return eventsList;
// }
//
// /**
// * get last event of the given name AND CLEARS THE LIST
// *
// * @param name the event name (class where event was logged)
// * @return the event or null if none
// */
// public static LoggingEvent getLast(String name){
// synchronized (eventsList) {
// if (eventsList.isEmpty()){
// return null;
// }
// LoggingEvent evt=eventsList.removeLast();
// while (evt!=null && !evt.getLoggerName().equals(name)){
// evt=eventsList.removeLast();
// }
// eventsList.clear();
// return evt;
// }
// }
//
// public TestAppender() {
//
// }
//
// public TestAppender(boolean isActive) {
// super(isActive);
// }
//
// @Override
// public void close() {
//
// }
//
// @Override
// public boolean requiresLayout() {
// return false;
// }
//
// @Override
// protected void append(LoggingEvent event) {
// synchronized (eventsList) {
// eventsList.add(event);
// // keep memory low, since we want the last event usually anyway
// if (eventsList.size()>10){
// eventsList.removeFirst();
// }
// }
// }

}
Loading

0 comments on commit ada5495

Please sign in to comment.