美文网首页
springBoot日志系统,实现日志输出到文件中

springBoot日志系统,实现日志输出到文件中

作者: Binary_r | 来源:发表于2020-11-04 17:42 被阅读0次

Java实现日志输出到文件中

public void consoleLog() throws IOException {
        File file = new File("E:\\es.log");
        FileWriter fileWriter = null;
        if (!file.exists()) {
            file.createNewFile();
        }
        try {
            fileWriter = new FileWriter(file, true);
            for (int i = 0; i < 100; i++) {
                fileWriter.write("log: " + i + "\r\n");
            }
        }catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fileWriter != null) {
                fileWriter.close();
            }
        }

    }

配置文件logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration
        xmlns="http://ch.qos.logback/xml/ns/logback"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback">

    <springProfile name="!dev">
        <property name="LOG_PATTERN"
                  value="%d{yyyy-MM-dd HH:mm:ss.SS,America/Los_Angeles} %-5level %logger{36} %msg%n"/>
    </springProfile>

    <springProfile name="dev">
        <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SS,Asia/Shanghai} %-5level %logger{36} %msg%n"/>
    </springProfile>

    <property name="LOG_FILE_SYS" value="${LOG_HOME:-logs}/sys.log"/>
    <property name="LOG_FILE_ERROR" value="${LOG_HOME:-logs}/error.log"/>
    <property name="LOG_FILE_EXCEPTION" value="${LOG_HOME:-logs}/exception.log"/>
    <property name="LOG_FILE_CONSOLE" value="${LOG_HOME:-logs}/console.log"/>

    <springProfile name="dev,gdev,pre">
        <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${LOG_PATTERN}</pattern>
            </encoder>
        </appender>
    </springProfile>

    <!--将consoleLog写入到文件中 -->
    <appender name="consoleLog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE_CONSOLE}</file>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE_CONSOLE}.%d{yyyy-MM-dd}.%i</fileNamePattern>
            <maxFileSize>5MB</maxFileSize>
            <maxHistory>5</maxHistory>
            <totalSizeCap>25MB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <appender name="sysLog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE_SYS}</file>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE_SYS}.%d{yyyy-MM-dd}.%i
            </fileNamePattern>
            <maxFileSize>5MB</maxFileSize>
            <maxHistory>5</maxHistory>
            <totalSizeCap>25MB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <logger name="sysLog" level="info" additivity="false">
        <appender-ref ref="sysLog"/>
    </logger>

    <appender name="errorLog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE_ERROR}</file>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE_ERROR}.%d{yyyy-MM-dd}.%i
            </fileNamePattern>
            <maxFileSize>5MB</maxFileSize>
            <maxHistory>5</maxHistory>
            <totalSizeCap>25MB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <appender name="exceptionLog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${LOG_FILE_EXCEPTION}</file>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_FILE_EXCEPTION}.%d{yyyy-MM-dd}.%i
            </fileNamePattern>
            <maxFileSize>50MB</maxFileSize>
            <maxHistory>10</maxHistory>
            <totalSizeCap>500MB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <logger name="exceptionLog" level="error" additivity="false">
        <appender-ref ref="exceptionLog"/>
    </logger>

    <logger name="errorLog" level="info" additivity="false">
        <appender-ref ref="errorLog"/>
    </logger>

    <springProfile name="dev,gdev">
        <root level="info">
            <appender-ref ref="stdout"/>
            <appender-ref ref="consoleLog"/>
        </root>
    </springProfile>

    <springProfile name="pre,prd">
        <root level="info">
            <appender-ref ref="stdout"/>
            <appender-ref ref="consoleLog"/>
        </root>
    </springProfile>
</configuration>

yml文件配置日志级别

logging:
  level:
    root: info
    com.newegg.im.keyword.dao: debug

相关文章

网友评论

      本文标题:springBoot日志系统,实现日志输出到文件中

      本文链接:https://www.haomeiwen.com/subject/cengvktx.html