Fork me on GitHub

Flink 日志系统


Flink 日志系统

添加依赖,别忘记排除 log4j的依赖

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.11</version>
</dependency>

logback.xml

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

    <property name="web.logs.path" value="logs"/>

    <!--配置日志输出路径(测试配置)-->
    <property name="log.base" value="D:\\code\\flinkProcess-check\\logs"/>
    <!--    <property name="log.base" value="hdfs:///user/flink/flinkapp/logs" />-->

    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </encoder>
    </appender>

    <!-- 按照每天生成错误日志文件 -->
    <appender name="ERRORFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名 -->
            <FileNamePattern>${log.base}/FLINK_ERROR-%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数 -->
            <MaxHistory>5</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印错误日志 -->
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- 按照每天生成警告日志文件 -->
    <appender name="WARNFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名 -->
            <FileNamePattern>${log.base}/FLINK_WARN-%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数 -->
            <MaxHistory>5</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印警告日志 -->
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- 按照每天生成INFO日志文件 -->
    <appender name="INFOFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名 -->
            <FileNamePattern>${log.base}/FLINK_INFO-%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数 -->
            <MaxHistory>5</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
            </pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 只打印INFO日志 -->
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!--    &lt;!&ndash; 按照每天生成DEBUG日志文件 &ndash;&gt;-->
    <!--    <appender name="DEBUGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
    <!--        <Prudent>true</Prudent>-->
    <!--        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">-->
    <!--            &lt;!&ndash;日志文件输出的文件名 &ndash;&gt;-->
    <!--            <FileNamePattern>${log.base}/RT_TAG_DEBUG-%d{yyyy-MM-dd}.log</FileNamePattern>-->
    <!--            &lt;!&ndash;日志文件保留天数 &ndash;&gt;-->
    <!--            <MaxHistory>5</MaxHistory>-->
    <!--        </rollingPolicy>-->
    <!--        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">-->
    <!--            &lt;!&ndash;格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 &ndash;&gt;-->
    <!--            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n-->
    <!--            </pattern>-->
    <!--        </encoder>-->
    <!--        <filter class="ch.qos.logback.classic.filter.LevelFilter">&lt;!&ndash; 只打印DEBUG日志 &ndash;&gt;-->
    <!--            <level>DEBUG</level>-->
    <!--            <onMatch>ACCEPT</onMatch>-->
    <!--            <onMismatch>DENY</onMismatch>-->
    <!--        </filter>-->
    <!--    </appender>-->

    <!-- 日志输出级别 -->
    <!--<root level="DEBUG">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="ERRORFILE" />
        <appender-ref ref="WARNFILE" />
        <appender-ref ref="INFOFILE" />
        <appender-ref ref="DEBUGFILE" />
    </root>-->

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="ERRORFILE"/>
        <appender-ref ref="WARNFILE"/>
        <appender-ref ref="INFOFILE"/>
    </root>

</configuration>
posted @ 2022-07-26 10:06  耳_东  阅读(536)  评论(0)    收藏  举报