기은P
시간이 멈추는 장소
기은P
  • Programming (272)
    • 개발노트 (1)
    • FrontEnd (56)
      • ES&JS 문법 (14)
      • HTML&CSS (4)
      • React 기본 (18)
      • React 심화 (12)
      • React 이슈 (2)
      • Project 연습 (1)
      • Next.js (5)
    • Backend&Devops (33)
      • AWS (2)
      • Docker (9)
      • Jenkins (6)
      • Nginx (6)
      • Node.js (1)
      • ElasticSearch (5)
      • 프레임워크&아키텍처 (2)
      • 암호화 (0)
      • 기타 (2)
    • 알고리즘 (3)
    • C# (8)
      • WPF (8)
    • Java (51)
      • 순수 Java (18)
      • RDF&Jena (12)
      • RCP&GEF (9)
      • JMX (5)
      • JMapper (3)
      • 오류해결 (4)
    • Database (21)
      • RDBMS (9)
      • NoSQL (2)
      • TSDB (1)
      • GraphQL (1)
      • Hibernate (3)
      • 데이터베이스 이론 (4)
      • Redis (1)
    • 프로토콜 (11)
      • Netty (4)
      • gRPC (5)
      • 프로토콜 개념 (2)
    • Server (4)
      • Linux (4)
    • 2020 정보처리기사 필기 (43)
      • 목차 (1)
      • 기출문제 (1)
      • 1과목 - 소프트웨어 설계 (6)
      • 2과목 - 소프트웨어 개발 (7)
      • 3과목 - 데이터베이스 구축 (8)
      • 4과목 - 프로그래밍 언어 활용 (7)
      • 5과목 - 정보시스템 구축 관리 (10)
    • 2020 정보처리기사 실기 (31)
      • 목차 (4)
      • 기출예상문제 (19)
      • 실기요약 (8)
    • 빅데이터분석기사 필기 (4)
      • 목차 (0)
      • 필기 요약 (3)
    • 전기 공학 (1)
      • CIM (1)
    • 산업자동화시스템 (3)
      • SCADA (1)
      • OPC UA (2)
    • 디자인패턴 (1)
    • 휴지통 (0)

공지사항

  • 공지사항/포스팅 예정 항목

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
기은P

시간이 멈추는 장소

[Java] Apache log4j .properties 생성 및 오류 해결 방법
Java/순수 Java

[Java] Apache log4j .properties 생성 및 오류 해결 방법

2020. 3. 6. 09:18
반응형
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.

이클립스 프로젝트를 진행했을 때 간혹 log4j:WARN No appenders could be found for logger이라는 메세지를 볼 수 있다.

해당 로그에 대한 출력을 도와주는 log4j의 설정 파일을 찾을 수 없다는 이야기다.

위와 같은 에러 해결을 위한 방법을 간략하게 요약해서 적어놓는다.

 

만약 프로젝트에 log4j가 없다면 아래 다운로드를 통해 라이브러리를 받아주길 바란다.

Log4j의 다운로드는 아래 링크를 통해 받을 수 있다.

 

http://commons.apache.org/proper/commons-logging/download_logging.cgi

 

Apache Commons Logging - Download Apache Commons Logging

압축받은 폴더를 열어보면 log4j가 .jar파일 형식으로 되어있기 때문에, 이클립스 프로젝트에서 라이브러리를 프로젝트에 추가하는 방법 = Build Path를 사용해서 프로젝트에 추가를 시켜주어야 한다.

 

프로젝트에 라이브러리를 추가했다면 log4j의 로그 출력의 설정을 정의하는 .properties 파일을 생성해주어야 한다.

생성하는 방법은 따로 없고 직접 텍스트 파일에 구성 설정 방법을 적자.

 

위치는 편하게 프로젝트 시작 위치로 잡으면 되고 따로 구성 설정이 있는 폴더에 옮겨놓아도 무관하다.

파일 이름은 log4j.properties로 고정한다.

 

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# Root logger option
log4j.rootLogger=INFO, stdout

# Hibernate logging options (INFO only shows startup messages)
log4j.logger.org.hibernate=INFO

# Log JDBC bind parameter runtime arguments
log4j.logger.org.hibernate.SQL=debug
log4j.logger.org.hibernate.type.descriptor.sql=trace

log4j.properties의 내용은 위와 같은데, 필자의 프로젝트는 hibernate log를 출력하기 위한 구성 설정이기 때문에 일반적인 프로젝트와는 조금 다를 수 있다는 점 참고하길 바란다.

log4j.properties
0.00MB

혹시 몰라서 파일까지 첨부해 놓는다.

 

public static void main(String[] args) {
		// TODO Auto-generated method stub
		PropertyConfigurator.configure(System.getProperty("user.dir") + "\\log4j.properties");
		new Main().Save3();
	}

 

마지막으로 메인 시작점에 PropertyConfigurator에 log4j의 프로퍼티를 사용하겠다는 선언을 해놓는다.

메서드 안에 들어가는 인자는 파일 경로=Path이므로, 경로가 맞지 않으면 알맞게 설정해주자.

 

09:16:29,488  INFO Version:15 - Hibernate Annotations 3.3.0.GA
09:16:29,497  INFO Environment:514 - Hibernate 3.2.5
09:16:29,499  INFO Environment:547 - hibernate.properties not found
09:16:29,500  INFO Environment:681 - Bytecode provider name : cglib
09:16:29,504  INFO Environment:598 - using JDK 1.4 java.sql.Timestamp handling
09:16:29,534  INFO Configuration:1460 - configuring from file: hibernate.cfg.xml
09:16:29,643  INFO Configuration:1541 - Configured SessionFactory: null
09:16:29,668  INFO AnnotationBinder:398 - Binding entity from annotated class: org.power21.hibernate.data.Employee
09:16:29,684  INFO EntityBinder:420 - Bind entity org.power21.hibernate.data.Employee on table employee
09:16:29,705  INFO AnnotationBinder:398 - Binding entity from annotated class: org.power21.hibernate.data.Employeeentity
09:16:29,705  INFO EntityBinder:420 - Bind entity org.power21.hibernate.data.Employeeentity on table employeeentity
09:16:29,733  INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)

 

로그가 잘 나온다.

반응형

'Java > 순수 Java' 카테고리의 다른 글

[Java] Eclipse 이클립스 크롬 연동하기(Web Browser 연동)  (0) 2020.03.13
[Java] SWT Tree와 Map을 활용한 Directory 출력 예제 소스  (0) 2020.03.12
[Java] SWT Tree 사용 예제  (0) 2020.03.12
[Java] Reflection  (0) 2020.03.06
[Java] Property 파일(.properties) 생성 및 사용  (0) 2020.03.05
    'Java/순수 Java' 카테고리의 다른 글
    • [Java] SWT Tree와 Map을 활용한 Directory 출력 예제 소스
    • [Java] SWT Tree 사용 예제
    • [Java] Reflection
    • [Java] Property 파일(.properties) 생성 및 사용
    기은P
    기은P
    기은P의 블로그 일상과 개발 관련 포스팅 #React #Typescript #Next #Nest https://github.com/kimdongjang

    티스토리툴바