본문 바로가기
빅데이터/oozie

[oozie][hive][log4j] ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. 오류 해결 방법

by hs_seo 2019. 10. 31.

우지를 이용해서 액션을 실행할 때 다음과 같이 log4j 설정 정보를 찾지 못해서 기본설정으로 작업하여 에러로그만 출력하는 경우가 있습니다. 이때는 로그설정 파일을 우지 액션에서 함께 전달하면 됩니다.

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/mnt/yarn/filecache/56/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Logging initialized using configuration in /mnt/yarn/usercache/hadoop/appcache/application_1572396391225_0324/container_1572396391225_0324_01_000001/hive-log4j.properties Async: true

우지 액션 설정

file을 이용하여 전달할 프로퍼티 정보를 입력합니다. 

<workflow-app>
  <hive>
    <script>hive.hql</script>
    <file>hive-log4j.properties</file>
  <hive>
</workflow-app>

log4j 설정

hive-log4j.properties 파일의 내용을 다음과 같이 생성합니다. 

appender.console.type = Console
appender.console.name = console
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%c{1}:%L] - %m%n

rootLogger.level = debug
rootLogger.appenderRef.console.ref = console

로그 출력

위와 같이 입력하고 실행하면 다음과 같이 로그가 출력됩니다.

[2019-10-31 10:30:51] [INFO ] [ZlibFactory:49] - Successfully loaded & initialized native-zlib library
[2019-10-31 10:30:51] [INFO ] [CodecPool:153] - Got brand-new compressor [.deflate]
반응형