java 控制台 System.out日志輸出到logback文件里


1. 下面是我的logback.xml的配置

<?xml version="1.0" encoding="UTF-8" ?>

<configuration scan="true" scanPeriod="60 seconds" debug="false">
 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
 
      <file>D:/log/proxy/server.out</file>
      <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>D:/log/proxy/api_open_%d{yyyy-MM-dd}-%i.log</fileNamePattern>
        <!-- <fileNamePattern>/app/tomcat/open-Platform/api-open/log/api_open_%d{yyyy-MM-dd}-%i.log</fileNamePattern> -->
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
          <maxFileSize>100MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
      </rollingPolicy>
      <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
      </encoder>
  </appender>
  
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
  </appender>
  
  <root level="INFO">
    <appender-ref ref="FILE" />
    <appender-ref ref="STDOUT" />  <!--這一行可以控制是否輸出到控制台-->
  </root>
</configuration>

2. 添加依賴

<dependency>
        <groupId>uk.org.lidalia</groupId>
        <artifactId>sysout-over-slf4j</artifactId>
        <version>1.0.2</version>
</dependency>

3.在程序中盡可能早的地方(如程序入口)添加以下代碼

SysOutOverSLF4J.sendSystemOutAndErrToSLF4J();

4.web.xml中添加listener(實測好像不添加也可以)

<listener>
  <listener-class>uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4JServletContextListener</listener-class>
</listener>

5. 實際效果

 

 

 

 

 

抄襲自: https://blog.csdn.net/yckiven/article/details/86251688

 

 

 

 

 


 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM