Change log4j to logback (#255) (#258)

* Change to use logback

* Add licenses for logback configuration file

* Update logback-spring.xml
diff --git a/dubbo-admin-backend/src/main/resources/log4j.properties b/dubbo-admin-backend/src/main/resources/log4j.properties
deleted file mode 100644
index e269697..0000000
--- a/dubbo-admin-backend/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-log4j.rootCategory=INFO, stdout, file
-log4j.logger.org.apache=WARN
-
-
-# 控制台输出
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.target=System.out
-log4j.appender.stdout.Threshold=INFO
-log4j.appender.stdout.encoding=GBK
-log4j.appender.stdout.layout.ConversionPattern=%5p %c{2} - %m%n
-
-# 文件输出
-log4j.appender.file=org.apache.log4j.RollingFileAppender
-log4j.appender.file.file=dubbo-governance.log
-log4j.appender.file.Threshold=INFO
-log4j.appender.file.append=true
-log4j.appender.file.maxFileSize=10MB
-log4j.appender.file.maxBackupIndex=100
-log4j.appender.file.layout=org.apache.log4j.PatternLayout
-log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %C{6} (%F:%L) - %m%n
diff --git a/dubbo-admin-backend/src/main/resources/logback-spring.xml b/dubbo-admin-backend/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..0e01216
--- /dev/null
+++ b/dubbo-admin-backend/src/main/resources/logback-spring.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<configuration>
+    <property name="LOG_FILE" value="dubbo-governance.log"/>
+    <property name="LOG_FILE_MAX_HISTORY" value="7"/>
+
+    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
+    <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
+    <include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
+
+    <logger name="org.apache" level="WARN"/>
+
+    <appender name="FILE-LOG-ASYNC" class="ch.qos.logback.classic.AsyncAppender">
+        <discardingThreshold>0</discardingThreshold>
+        <queueSize>2048</queueSize>
+        <appender-ref ref="FILE"/>
+    </appender>
+
+    <appender name="CONSOLE-LOG-ASYNC" class="ch.qos.logback.classic.AsyncAppender">
+        <discardingThreshold>0</discardingThreshold>
+        <queueSize>2048</queueSize>
+        <appender-ref ref="CONSOLE"/>
+    </appender>
+
+    <root level="INFO">
+        <appender-ref ref="CONSOLE-LOG-ASYNC"/>
+        <appender-ref ref="FILE-LOG-ASYNC"/>
+    </root>
+
+</configuration>