※ 리눅스 로깅은 보통 서버 자원이나 프로세스의 개수 등을 감시하다가 개수가 튀거나 자원이 부족해지는 상황을 모니터링하는 것이 일반적이다. 자원 관련이 아니라면 어플리케이션을 리눅스 위에서 돌리다 해당 어플리케이션이 뱉어내는 오류를 로깅하는 것이 1차적인 목적이다.

오류와 오류가 아닌 메시지를 모두 뱉어내는 자바 어플리케이션을 간단하게 만들고, 웹어플리케이션을 얹는 상황의 로깅 방법을 확인한다.

 

1. 리눅스에 자바 설치

$ sudo apt-get install openjdk-17-jdk  # 자바 설치
$ java -version                        # 자바 버전 확인
$ nano run_on_shell_j                  # 자바 프로그램 작성

먼저, 위 명령어로 리눅스에 자바를 설치한 후 run_on_shell_j라는 파일에 아래와 같은 코드를 작성했다.

loglog를 출력해주는 클래스 파일을 만들었고, 해당 파일을 실행해보면 위와 같이 잘 출력되는 것을 확인할 수 있다.

위 구문은 일반구문이므로 로그파일에 기록 시 그냥 기록된다. 

 

 

2. 어플리케이션에서 남겨준 에러로그를 리눅스에서 받아서 처리하기

 

1) 자바스크립트 기준

- 일반 로그 : console.log()

- 에러 로그 : console.err()

 

2) 자바 기준

- 일반 로그 : System.out.println() 혹은 log.info()

- 에러 로그 : System.err.println() 혹은 log.error()

 

위와 같이 코드 수정 후 catlogerr.log를 찍어보면 일반 로그인 loglog만 출력되는 것을 확인할 수 있다.

앞에서 배웠듯 유형 1, 유형 2로 분류되기 때문에 System.err.println()의 내역은 저장되지 않는 것이다.

이처럼 2>&1을 이용하여 저장하면 errerr도 문제없이 출력되는 것을 확인할 수 있다.

 

 

3. 로깅이 제대로 되고 있는지 좀 더 쉽게 확인하기

※ 해당 로깅 내역이 제대로 돌아가는지를 체크하기 위해 실제 현업에서는 크론탭을 2개씩 작성한다.

- 실행여부만 체크해주는 크론탭

- 실제 어플리케이션을 실행해주는 크론탭

 

💡 실습하기

더보기

1. 어플리케이션 호출 + 로깅 로직을 크론탭에 등록해서 주기적으로 어플리케이션 체크를 하게 해 주세요

2. 해당 크론탭이 돌았는지를 검증하는 크론잡도 같이 등록해주세요

 

'네트워크캠퍼스 > LINUX' 카테고리의 다른 글

로그로테이트를 통한 로그파일 관리  (0) 2024.02.23
로깅 실습  (0) 2024.02.22
크론탭 메일전송  (0) 2024.02.21
크론잡과 크론탭  (0) 2024.02.21
Shell Script 실습  (0) 2024.02.20

+ Recent posts