Log란?
- 컴퓨터의 처리 내용이나 이용 상황을 시간의 흐름에 따른 기록
- 개인용 컴퓨터 통신에서 메일 등 통신 내용의 기록이며, 그 파일을 로그 파일(log file)이라고 한다
- 통나무 목선 log on(승선), log out(하선)으로부터 유래되었다
목적
- 시스템 보안이나 유지보수 목적으로 사용된다
- 사고가 발생했을 때 데이터의 복원이나 사고 원인의 규명 등에 도움이 된다
- 해킹 등의 사건이 발생했을 때, 로그 파일을 분석하여 사건의 원인을 파악
- 네트워크의 부정 이용이나 데이터 파괴의 방지와 이용 요금의 산정의 기본 등에 사용
Log File
- 컴퓨터의 모든 사용내역을 기록하고 있는 파일
- 컴퓨팅에서 로그파일은 운영체제나 다른 소프트웨어가 실행 중에 발생하는 이벤트나 각기 다른 사용자의 통신 소프트웨어 간의 메시지를 기록한 파일
Loging
종류
이벤트 로그
- 감사 추적 제공을 위해 시스템 실행 시 발생하는 이벤트를 기록
- 시스템 활동을 이해하고 문제를 진단하는 데 사용
트랜잭션 로그
- 데이터베이스 로그
- 데이터베이스에서 충돌이나 하드웨어 고장이 있어도 데이터베이스 관리 시스템(DBMS)의 ACID 특성을 보장하기 위한 조작 이력을 나타낸다
- 데이터 무결성과 지속성을 보장하기 위해 사용
- 전원이 끊겨도 데이터를 저장할 수 있는 보조 기억 장치에 파일에 출력되는 경우가 많다
- 데이터베이스의 문제가 발생한 경우 데이터베이스의 트랜젝션 로그를 이용해 복원할 수 있다
ACID
- Atomicity, Consistency, Isolation, Durability
- 데이터베이스의 트랜잭션이 안전하게 수행되기 위한 4가지 필수적인 성질
- Atomicity : 원자성, 하나의 트랜잭션은 더 이상 작게 쪼갤 수 없는 최소한의 업무 단위
- Consistency : 일관성, 트랜잭션이 완료된 결과값은 일관성 있는 데이터베이스 상태로 유지되는 것
- Isolation : 고립성, 트랜잭션을 수행하는 도중에 다른 연산 작업이 끼어들지 못하는 것
- Durability : 지속성, 성공적으로 수행된 트랜잭션은 영구적으로 반영되어야 함
메시지 로그
- 인터넷 릴레이 챗, 인스턴트 메신저, 대화 기능이 있는 쌍방향 파일 전송 시스템 파일 공유 클라이언트와 멀티플레이어 게임들은 사용자들끼리 공적으로나 사적으로 주고받는 대화 메시지를 기록
In Java(Spring Boot)
In Python
ref