关于logback如何按等级输出到控制台和保存到日志文件

我现在这个项目要把log4j转成用logback,之前在log4j中的分级方法是好用的,结果在写logback的demo测试中不好用了,望大神给看看,下面是配置文件的源码

 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>   
 <appender name="D" class="ch.qos.logback.core.ConsoleAppender">  
 <!--   <filter class="ch.qos.logback.classic.filter.LevelFilter">        
 <level>INFO</level>        
 <onMatch>ACCEPT</onMatch>       
 <onMismatch>DENY</onMismatch>   
 </filter>-->      
 <encoder>         
 <pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern>       
 </encoder>   
 </appender>   
 <root level="INFO">      
 <appender-ref ref="D"/>   
 </root>  <!-- 这个地方的级别为什么控制步了,控制台的打印结果显示的是下面warn级别 以上的了--> 
 <appender name="E" class="ch.qos.logback.core.rolling.RollingFileAppender">       
 <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">          
 <fileNamePattern>f://logFile.%d{yyyy-MM-dd}.log</fileNamePattern>          <maxHistory>1</maxHistory> 
 </rollingPolicy>        
 <encoder>         
 <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>       
 </encoder>     
 </appender>      
 <root level="WARN">       
 <appender-ref ref="E" />    
 </root>    </configuration>   

就是控制日志输出方式,info以上的打印到控制台,warn以上的既打印到控制台,又声称日志文件,现在的输出结果是控制台只显示warn和error的结果,日志打印结果也是

我只配一个root

  <root level="info">
    <appender-ref ref="stdout" />
    <appender-ref ref="file-all" />
    <appender-ref ref="file—debug" />
    <appender-ref ref="file—error" />
  </root>

stdout是控制台

  <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    <encoder charset="UTF-8" class="com.yunda.dp.dpsoa.log.LogBackExEncoder">
      <pattern>[DPSOA] %date [%T] %-5level (%logger{80}.%method:%line - %msg%n</pattern>
    </encoder>
  </appender>

  <!-- 时间滚动输出 level不为 DEBUG 日志 -->
  <appender name="file-all" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>dpsoa.log</file>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
      <level>DEBUG</level>
      <onMatch>DENY</onMatch>
      <onMismatch>ACCEPT</onMismatch>
    </filter>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <FileNamePattern>${webApp.root}/logs/dpsoa.%d{yyyy-MM-dd}.log</FileNamePattern>
      <MaxHistory>30</MaxHistory>
    </rollingPolicy>
    <encoder class="com.yunda.dp.dpsoa.log.LogBackExEncoder"> 
      <pattern>[DPSOA] %date [%T] %-5level (%logger{80}.%method:%line - %msg%n</pattern>
    </encoder>
  </appender>