Hi Rafi,
The file exists (and is the file from the official image☺, please see below).
The user is root and it has permission. I am running in HA mode using docker.

cat /opt/flink/conf/log4j-console.properties

################################################################################
#  Licensed to the Apache Software Foundation (ASF) under one
#  or more contributor license agreements.  See the NOTICE file
#  distributed with this work for additional information
#  regarding copyright ownership.  The ASF licenses this file
#  to you under the Apache License, Version 2.0 (the
#  "License"); you may not use this file except in compliance
#  with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
# limitations under the License.
################################################################################

# This affects logging for both user code and Flink
rootLogger.level = INFO
rootLogger.appenderRef.console.ref = ConsoleAppender

# Uncomment this if you want to _only_ change Flink's logging
#log4j.logger.org.apache.flink=INFO

# The following lines keep the log level of common libraries/connectors on
# log level INFO. The root logger does not override this. You have to manually
# change the log levels here.
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

# Log all infos to the console
appender.console.name = ConsoleAppender
appender.console.type = CONSOLE
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - 
%m%n

# Suppress the irrelevant (wrong) warnings from the Netty channel handler
logger.netty.name = 
org.apache.flink.shaded.akka.org.jboss.netty.channel.DefaultChannelPipeline
logger.netty.level = OFF

Best regards
Eyal Peer / Data Platform Developer
[cid:image003.png@01D32C73.C785C410]

From: Rafi Aroch <rafi.ar...@gmail.com>
Sent: Tuesday, March 10, 2020 3:55 PM
To: Eyal Pe'er <eyal.p...@startapp.com>
Cc: user <user@flink.apache.org>; StartApp R&D Data Platform 
<startapprnd...@startapp.com>
Subject: Re: Setting app Flink logger

Hi Eyal,

Sounds trivial, but can you verify that the file actually exists in 
/opt/flink/conf/log4j-console.properties? Also, verify that the user running 
the process has read permissions to that file.
You said you use Flink in YARN mode, but the the example above you run inside a 
docker image so this is a bit confusing. Notice that the official docker images 
run as "flink" user and group ids.

If you wish to try to use Logback instead, you can place you logback.xml file 
as part of your project resources folder to include it in the classpath. That 
should automatically get detected on startup.

Hope this helps,
Rafi


On Tue, Mar 10, 2020 at 1:42 PM Eyal Pe'er 
<eyal.p...@startapp.com<mailto:eyal.p...@startapp.com>> wrote:
Hi,
I am running Flink in YARN mode using the official image with few additional 
files.
I’ve noticed that my logger failed to initialize:

root:~# docker logs flink-task-manager
Starting taskexecutor as a console application on host ***.
log4j:WARN No appenders could be found for logger 
(org.apache.flink.runtime.taskexecutor.TaskManagerRunner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more 
info.

I followed the 
documentation<https://ci.apache.org/projects/flink/flink-docs-stable/monitoring/logging.html>
 and seems like all related configuration files exist.
Currently, I am using the default files from the official image 
https://github.com/apache/flink/tree/master/flink-dist/src/main/flink-bin/conf

In addition, seems like the process got the right parameters:
root     21892 21866  1 08:29 ?        00:02:06 /usr/local/openjdk-8/bin/java 
-XX:+UseG1GC 
-Dlog4j.configuration=file:/opt/flink/conf/log4j-console.properties 
-Dlogback.configurationFile=file:/opt/flink/conf/logback-console.xml -classpath 
/opt/flink/lib/flink-metrics-prometheus-1.9.2.jar:/opt/flink/lib/flink-table-blink_2.11-1.9.2.jar:/opt/flink/lib/flink-table_2.11-1.9.2.jar:/opt/flink/lib/log4j-1.2.17.jar:/opt/flink/lib/slf4j-log4j12-1.7.15.jar:/opt/flink/lib/flink-dist_2.11-1.9.2.jar:::
 org.apache.flink.runtime.taskexecutor.TaskManagerRunner --configDir 
/opt/flink/conf

What am I doing wrong ? How can I turn logger on?
Best regards
Eyal Peer

Reply via email to