使log4j 2记录器异步,但按以下顺序进行:

$ mvn -Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector -jar app.jar

java.lang.NoClassDefFoundError: com/lmax/disruptor/EventTranslatorVararg
    at java.lang.ClassLoader.defineClass1 (Native Method)
    at java.lang.ClassLoader.defineClass (ClassLoader.java:1009)
    at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
    at java.net.URLClassLoader.defineClass (URLClassLoader.java:545)
    at java.net.URLClassLoader.access$100 (URLClassLoader.java:83)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:453)

要修复它,请添加disruptor

pom.xml
<dependency>
		<groupId>com.lmax</groupId>
		<artifactId>disruptor</artifactId>
		<version>3.4.2</version>
	</dependency>

注意
阅读本使所有记录器异步

参考文献

翻译自: https://mkyong.com/logging/log4j-2-java-lang-noclassdeffounderror-com-lmax-disruptor-eventtranslatorvararg/

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐