zhourui 5 anos atrás
pai
commit
ec349fdd73

+ 11 - 1
o2server/x_console/src/main/java/com/x/server/console/Main.java

@@ -46,6 +46,7 @@ public class Main {
 
 	private static final String MANIFEST_FILENAME = "manifest.cfg";
 	private static final String GITIGNORE_FILENAME = ".gitignore";
+	public static boolean slf4jOtherImplOn = false;
 
 	public static void main(String[] args) throws Exception {
 		String base = getBasePath();
@@ -54,7 +55,16 @@ public class Main {
 		/* getVersion需要FileUtils在后面运行 */
 		cleanTempDir(base);
 		createTempClassesDirectory(base);
-		LogTools.setSlf4jSimple();
+		//LogTools.setSlf4jSimple();
+		try {
+			Main.class.getClassLoader().loadClass("org.slf4j.impl.SimpleLogger");
+			LogTools.setSlf4jSimple();
+		}catch(ClassNotFoundException ex) {
+			System.out.println("ignore:"+ex.getMessage());
+			slf4jOtherImplOn = true;
+		}
+		org.slf4j.impl.StaticLoggerBinder.getSingleton();
+		System.out.println("logger:" + org.slf4j.LoggerFactory.getLogger(Main.class));
 		SystemOutErrorSideCopyBuilder.start();
 		ResourceFactory.bind();
 		CommandFactory.printStartHelp();

+ 9 - 4
o2server/x_console/src/main/java/com/x/server/console/server/JettySeverTools.java

@@ -92,10 +92,15 @@ public abstract class JettySeverTools {
 		for (File o : FileUtils.listFiles(Config.dir_store_jars(), filter, null)) {
 			jars.add(o.getAbsolutePath());
 		}
-		filter = new WildcardFileFilter("slf4j-api-*.jar");
-		filter = FileFilterUtils.or(filter, new WildcardFileFilter("slf4j-simple-*.jar"));
-		filter = FileFilterUtils.or(filter, new WildcardFileFilter("jul-to-slf4j-*.jar"));
-		filter = FileFilterUtils.or(filter, new WildcardFileFilter("openjpa-*.jar"));
+		if (com.x.server.console.Main.slf4jOtherImplOn) {
+			filter = FileFilterUtils.or(new WildcardFileFilter("openjpa-*.jar"));
+		} else {
+			filter = new WildcardFileFilter("slf4j-api-*.jar");
+			filter = FileFilterUtils.or(filter, new WildcardFileFilter("slf4j-simple-*.jar"));
+			filter = FileFilterUtils.or(filter, new WildcardFileFilter("jul-to-slf4j-*.jar"));
+			filter = FileFilterUtils.or(filter, new WildcardFileFilter("log4j-*.jar"));
+			filter = FileFilterUtils.or(filter, new WildcardFileFilter("openjpa-*.jar"));
+		}
 		filter = FileFilterUtils.or(filter, new WildcardFileFilter("ehcache-*.jar"));
 		/* 如果不单独导入会导致java.lang.NoClassDefFoundError: org/eclipse/jetty/http/MimeTypes */
 		filter = FileFilterUtils.or(filter, new WildcardFileFilter("jetty-all-*.jar"));