
# 如何查看System.out.println打印的调试信息或将调试信息输出至指定文件
#### 问题
Flink业务代码中添加了System.out.println调试信息打印，该如何查看此调试日志？避免与运行日志混在一起打印，如何将业务日志单独输出至指定文件？
#### 回答
Flink所有的运行日志打印都会打印至Yarn的本地目录下，默认所有Log都会输出至Yarn container本地目录下taskmanager.log，所有调用System.out打印都会输出至taskmanager.out文件。查看方式如下：
1. 进入Flink原生Web页面
2. 依次左侧Task Managers页签-\>Logs或Stdouts查看日志信息。 ![](https://support.huaweicloud.com/devg-lts-mrs/zh-cn_image_0000001252690898.png "点击放大")
   
配置业务日志与TaskManager运行日志独立打印：
![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/notice_3.0-zh-cn.png)
若配置业务日志与TaskManager运行日志分开打印后，业务日志不输出至taskmanager.log，无法使用Web页面进行查看相应日志信息。
1. 修改客户端的配置文件"conf/logback.xml"，在文件中添加如下日志配置信息，加粗标注部分根据需要进行修改。
   ```
   <appender name="TEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
           <file>/path/test.log</file>
           <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
               <fileNamePattern>/path/test.log.%i</fileNamePattern>
               <minIndex>1</minIndex>
               <maxIndex>20</maxIndex>
           </rollingPolicy>
           <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
               <maxFileSize>20MB</maxFileSize>
           </triggeringPolicy>
           <encoder>
               <pattern>%d{"yyyy-MM-dd HH:mm:ss,SSS"} | %m %n</pattern>
           </encoder>
       </appender>
       <logger name="com.huawei.bigdata.flink.examples" additivity="false">
           <level value="INFO"/>
           <appender-ref ref="TEST"/>
       </logger>
   ```
   
2. 重新启动yarn-session.sh，提交任务。
![](https://support.huaweicloud.com/devg-lts-mrs/public_sys-resources/note_3.0-zh-cn.png)
自定义日志若指定了路径**\<file\>/path/test.log\</file\>** ，需确保任务运行所使用的用户（**flink-conf.yaml**配置用户）有权限对该目录进行读写操作。
