diff options
-rw-r--r-- | doc/note/links/links.txt | 4 | ||||
-rw-r--r-- | doc/note/maven-pom/howto-ban-unwanted-sh__.txt | 41 | ||||
-rw-r--r-- | src/main/patch/houston/default.patch | 104 |
3 files changed, 149 insertions, 0 deletions
diff --git a/doc/note/links/links.txt b/doc/note/links/links.txt index f565a26..b0c97e5 100644 --- a/doc/note/links/links.txt +++ b/doc/note/links/links.txt @@ -243,6 +243,7 @@ Links (Aka argument amplifiers) - [Houston Optimize EnqueuePatrol](https://jira.post.ch/browse/SDCISA-2876) - [Update beim Fahrzeughersteller dauert zu lange](https://jira.post.ch/browse/SDCISA-9059) - [vortex too slow](https://jira.post.ch/browse/SDCISA-9990) +- [2023-10-27 OOM nun auch auf Eagle](https://wikit.post.ch/x/c2U1Tw) ## Performance is not an issue ... - [Houston OOM 2023-06-27](https://wikit.post.ch/x/_Bv6Rw) @@ -537,3 +538,6 @@ Links (Aka argument amplifiers) ## Qemu is Crap - [Qemu for Windows Host Quirks](https://wonghoi.humgar.com/blog/2021/05/03/qemu-for-windows-host-quirks/) +## Git paisa complain about rebase stuff +- [Complain about force-pushes](https://gitit.post.ch/projects/ISA/repos/lazlar/pull-requests/3/overview?commentId=311142) + diff --git a/doc/note/maven-pom/howto-ban-unwanted-sh__.txt b/doc/note/maven-pom/howto-ban-unwanted-sh__.txt new file mode 100644 index 0000000..1edad9b --- /dev/null +++ b/doc/note/maven-pom/howto-ban-unwanted-sh__.txt @@ -0,0 +1,41 @@ + + + <project> + <dependencies> + <dependency> + <groupId>org.apache.logging.log4j</groupId> + <artifactId>log4j-slf4j-impl</artifactId> + <version>[0.0.0,)</version> + <scope>provided</scope> + </dependency> + </dependencies> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-enforcer-plugin</artifactId> + <!--<version>1.4.1</version>--> + <version>3.4.1</version> + <executions> + <execution> + <goals><goal>enforce</goal></goals> + <configuration> + <rules> + <bannedDependencies> + <excludes> + <exclude>org.apache.logging.log4j:log4j-slf4j-impl</exclude> + </excludes> + </bannedDependencies> + </rules> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + <project> + + +## Sources + +- [How to globally exclude mvn dependency](https://stackoverflow.com/a/39979760/4415884) +- [How to yell about bannded dependencies](https://stackoverflow.com/a/46104531/4415884) + diff --git a/src/main/patch/houston/default.patch b/src/main/patch/houston/default.patch index d70b12b..4fcfa8c 100644 --- a/src/main/patch/houston/default.patch +++ b/src/main/patch/houston/default.patch @@ -72,3 +72,107 @@ index 432efb01..d1729fe9 100644 RedisquesConfiguration redisquesConfig = RedisquesConfiguration.with() +diff --git a/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java +new file mode 100644 +index 00000000..aa3aa2e0 +--- /dev/null ++++ b/houston-process/src/main/java/org/apache/logging/slf4j/Log4jLogger.java +@@ -0,0 +1,98 @@ ++package org.apache.logging.slf4j; ++ ++import org.apache.logging.log4j.spi.ExtendedLogger; ++import org.slf4j.Marker; ++import org.slf4j.event.Level; ++import org.slf4j.spi.LocationAwareLogger; ++import org.slf4j.spi.LoggingEventBuilder; ++ ++import java.io.Serializable; ++ ++ ++/** <p>FU** this fu***** damn sh** code that still tries to use log4j, no matter ++ * how strong we tell it NOT to use it!</p> ++ * <p>This class only exists to prevent services from starting if IDEA still did miss ++ * the dependency changes in pom and still tries to use the wrong logger impl.</p> */ ++public class Log4jLogger implements LocationAwareLogger, Serializable { ++ ++ private final org.slf4j.Logger log; ++ ++ Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) { ++ this.log = new org.slf4j.simple.SimpleLoggerFactory().getLogger(name); ++ } ++ ++ @Override public void log(Marker marker, String s, int i, String s1, Object[] objects, Throwable throwable) { ++ throw new UnsupportedOperationException(/*TODO*/"Not impl yet"); ++ } ++ ++ @Override public String getName() { return log.getName(); } ++ @Override public LoggingEventBuilder makeLoggingEventBuilder(Level level) { return log.makeLoggingEventBuilder(level); } ++ @Override public LoggingEventBuilder atLevel(Level level) { return log.atLevel(level); } ++ @Override public boolean isEnabledForLevel(Level level) { return log.isEnabledForLevel(level); } ++ @Override public boolean isTraceEnabled() { return log.isTraceEnabled(); } ++ @Override public void trace(String s) { log.trace(s); } ++ @Override public void trace(String s, Object o) { log.trace(s, o); } ++ @Override public void trace(String s, Object o, Object o1) { log.trace(s, o, o1); } ++ @Override public void trace(String s, Object... objects) { log.trace(s, objects); } ++ @Override public void trace(String s, Throwable throwable) { log.trace(s, throwable); } ++ @Override public boolean isTraceEnabled(Marker marker) { return log.isTraceEnabled(marker); } ++ @Override public LoggingEventBuilder atTrace() { return log.atTrace(); } ++ @Override public void trace(Marker marker, String s) { log.trace(marker, s); } ++ @Override public void trace(Marker marker, String s, Object o) { log.trace(marker, s, o); } ++ @Override public void trace(Marker marker, String s, Object o, Object o1) { log.trace(marker, s, o, o1); } ++ @Override public void trace(Marker marker, String s, Object... objects) { log.trace(marker, s, objects); } ++ @Override public void trace(Marker marker, String s, Throwable throwable) { log.trace(marker, s, throwable); } ++ @Override public boolean isDebugEnabled() { return log.isDebugEnabled(); } ++ @Override public void debug(String s) { log.debug(s); } ++ @Override public void debug(String s, Object o) { log.debug(s, o); } ++ @Override public void debug(String s, Object o, Object o1) { log.debug(s, o, o1); } ++ @Override public void debug(String s, Object... objects) { log.debug(s, objects); } ++ @Override public void debug(String s, Throwable throwable) { log.debug(s, throwable); } ++ @Override public boolean isDebugEnabled(Marker marker) { return log.isDebugEnabled(marker); } ++ @Override public void debug(Marker marker, String s) { log.debug(marker, s); } ++ @Override public void debug(Marker marker, String s, Object o) { log.debug(marker, s, o); } ++ @Override public void debug(Marker marker, String s, Object o, Object o1) { log.debug(marker, s, o, o1); } ++ @Override public void debug(Marker marker, String s, Object... objects) { log.debug(marker, s, objects); } ++ @Override public void debug(Marker marker, String s, Throwable throwable) { log.debug(marker, s, throwable); } ++ @Override public LoggingEventBuilder atDebug() { return log.atDebug(); } ++ @Override public boolean isInfoEnabled() { return log.isInfoEnabled(); } ++ @Override public void info(String s) { log.info(s); } ++ @Override public void info(String s, Object o) { log.info(s, o); } ++ @Override public void info(String s, Object o, Object o1) { log.info(s, o, o1); } ++ @Override public void info(String s, Object... objects) { log.info(s, objects); } ++ @Override public void info(String s, Throwable throwable) { log.info(s, throwable); } ++ @Override public boolean isInfoEnabled(Marker marker) { return log.isInfoEnabled(marker); } ++ @Override public void info(Marker marker, String s) { log.info(marker, s); } ++ @Override public void info(Marker marker, String s, Object o) { log.info(marker, s, o); } ++ @Override public void info(Marker marker, String s, Object o, Object o1) { log.info(marker, s, o, o1); } ++ @Override public void info(Marker marker, String s, Object... objects) { log.info(marker, s, objects); } ++ @Override public void info(Marker marker, String s, Throwable throwable) { log.info(marker, s, throwable); } ++ @Override public LoggingEventBuilder atInfo() { return log.atInfo(); } ++ @Override public boolean isWarnEnabled() { return log.isWarnEnabled(); } ++ @Override public void warn(String s) { log.warn(s); } ++ @Override public void warn(String s, Object o) { log.warn(s, o); } ++ @Override public void warn(String s, Object... objects) { log.warn(s, objects); } ++ @Override public void warn(String s, Object o, Object o1) { log.warn(s, o, o1); } ++ @Override public void warn(String s, Throwable throwable) { log.warn(s, throwable); } ++ @Override public boolean isWarnEnabled(Marker marker) { return log.isWarnEnabled(marker); } ++ @Override public void warn(Marker marker, String s) { log.warn(marker, s); } ++ @Override public void warn(Marker marker, String s, Object o) { log.warn(marker, s, o); } ++ @Override public void warn(Marker marker, String s, Object o, Object o1) { log.warn(marker, s, o, o1); } ++ @Override public void warn(Marker marker, String s, Object... objects) { log.warn(marker, s, objects); } ++ @Override public void warn(Marker marker, String s, Throwable throwable) { log.warn(marker, s, throwable); } ++ @Override public LoggingEventBuilder atWarn() { return log.atWarn(); } ++ @Override public boolean isErrorEnabled() { return log.isErrorEnabled(); } ++ @Override public void error(String s) { log.error(s); } ++ @Override public void error(String s, Object o) { log.error(s, o); } ++ @Override public void error(String s, Object o, Object o1) { log.error(s, o, o1); } ++ @Override public void error(String s, Object... objects) { log.error(s, objects); } ++ @Override public void error(String s, Throwable throwable) { log.error(s, throwable); } ++ @Override public boolean isErrorEnabled(Marker marker) { return log.isErrorEnabled(marker); } ++ @Override public void error(Marker marker, String s) { log.error(marker, s); } ++ @Override public void error(Marker marker, String s, Object o) { log.error(marker, s, o); } ++ @Override public void error(Marker marker, String s, Object o, Object o1) { log.error(marker, s, o, o1); } ++ @Override public void error(Marker marker, String s, Object... objects) { log.error(marker, s, objects); } ++ @Override public void error(Marker marker, String s, Throwable throwable) { log.error(marker, s, throwable); } ++ @Override public LoggingEventBuilder atError() { return log.atError(); } ++ ++} |