Flink下log4j的日志配置
最近小编接到一个任务,说要在flink环境下配置日志框架,自定义输出目录,废话不多说,直接上才艺。
日志配置
flink默认是带有日志配置文件的,咱们了解一下:
log4j-cli.properties
:由 Flink 命令行客户端使用(例如flink run
)(不包括在集群上执行的代码)。这个文件是我们使用flink run
提交任务时,任务提交到集群前打印的日志所需的配置。log4j-session.properties
:Flink 命令行客户端在启动 YARN 或 Kubernetes session 时使用(yarn-session.sh
,kubernetes-session.sh
)。log4j.properties
:作为 JobManager/TaskManager 日志配置使用(standalone 和 YARN 两种模式下皆使用)
小编这里使用的是第一种,直接修改了log4j-cli.properties,我在文件中添加了滚动日志的配置。
rootLogger.level = INFO rootLogger.appenderRef.rolling.ref = RollingFileAppender logger.akka.name = akka logger.akka.level = INFO logger.kafka.name= org.apache.kafka logger.kafka.level = INFO logger.hadoop.name = org.apache.hadoop logger.hadoop.level = INFO logger.zookeeper.name = org.apache.zookeeper logger.zookeeper.level = INFO logger.upupfeng.name = com.upupfeng logger.upupfeng.level = INFO logger.upupfeng.additivity = false logger.upupfeng.appenderRef.rolling.ref = RollingFileAppender appender.rolling.name = RollingFileAppender appender.rolling.type = RollingFile appender.rolling.fileName = ${sys:log.file} appender.rolling.filePattern = ${sys:log.file}.%i appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n #按文件大小进行切割文件 #appender.rolling.policies.type = Policies #appender.rolling.policies.size.type = SizeBasedTriggeringPolicy #appender.rolling.policies.size.size=100MB #按时间去切割文件 appender.rolling.policies.type=Policies appender.rolling.policies.time.type=TimeBasedTriggeringPolicy appender.rolling.policies.time.interval=1 appender.rolling.strategy.type = DefaultRolloverStrategy appender.rolling.strategy.max = 10 logger.netty.name = org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline logger.netty.level = OFF