开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问下大家,flink1.13.6版本,standalone集群模式,使用基础的flink run

请问下大家,flink1.13.6版本,standalone集群模式,使用基础的flink run xxx.jar 提交应用程序到集群上运行,怎么让日志打到 应用程序config/log4j.properties配置文件中指定的日志文件中去? 怎么试,好像应用程序日志都是打到${flink_home}/log/flink-root-client-host-xxx.log中去了。

展开
收起
游客3oewgrzrf6o5c 2022-07-03 19:13:22 490 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,可以通过在应用程序中修改log4j的配置,来指定日志输出到指定的日志文件中。具体步骤如下:

    1. 在应用程序中增加log4j的相关依赖。可以在pom文件中添加以下依赖:
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.14.1</version>
    </dependency>
    
    1. 在应用程序中添加log4j的配置文件,比如命名为log4j.properties。其中需要指定日志文件的输出路径。
    # Set root logger level to INFO and appenders to stdout and rolling file
    log4j.rootLogger=INFO, console, file
    
    # Console appender configuration
    log4j.appender.console=org.apache.log4j.ConsoleAppender
    log4j.appender.console.target=System.err
    log4j.appender.console.layout=org.apache.log4j.PatternLayout
    log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}: %m%n
    
    # File appender configuration
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=/path/to/your/log/file
    log4j.appender.file.MaxFileSize=10MB
    log4j.appender.file.MaxBackupIndex=10
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}: %m%n
    

    其中,/path/to/your/log/file需要替换为实际的日志文件路径。该配置文件需要放在应用程序的根目录下。

    1. 在应用程序中加载log4j配置文件。可以在应用程序的main函数中添加以下代码:
    import org.apache.log4j.PropertyConfigurator;
    
    public class Main {
        public static void main(String[] args) {
            String log4jConfPath = "/path/to/log4j.properties";
            PropertyConfigurator.configure(log4jConfPath);
            // ...
        }
    }
    

    其中,/path/to/log4j.properties需要替换为实际的log4j配置文件的路径。

    1. 打包应用程序,并将打包后的jar文件提交到Flink集群上运行。运行时,Flink会自动加载log4j配置,并将日志输出到指定的日志文件中。
    2023-08-22 16:36:09
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载