Log file
컴퓨팅에서 로그파일(logfile)은 운영 체제나 다른 소프트웨어가 실행 중에 발생하는 이벤트나 각기 다른 사용자의 통신 소프트웨어 간의 메시지를 기록한 파일이다. 로그를 기록하는 행위는 로깅(logging)이라고 한다.
트랜잭션 로그는 시스템과 해당 시스템 사용자 간 통신에 대한 파일이거나, 시스템에 속하는 터미널의 사용자가 발생시킨 트랜잭션의 종류, 내용, 시간을 자동으로 캡처한 데이터 수집 방식이다.
수많은 운영 체제, 소프트웨어 프레임워크, 프로그램들은 로깅 시스템을 포함한다. 널리 쓰이는 로깅 표준은 syslog이며, IETF RFC 5424에 정의되어 있다.
Log level
- 0 (KERN_EMERG)
- The system is unusable.
- 더 이상 시스템을 사용할 수 없을 경우. 즉, 시스템이 뻗기 직전.
- 1 (KERN_ALERT)
- Actions that must be taken care of immediately.
- 즉시 해결을 요구하는 중요한 문제가 발생할 경우.
- 2 (KERN_CRIT)
- Critical conditions.
- 치명적인 문제. (즉시 해결하지 않아도 상관 없지만 가급적 빠른 시일 안에 해결해야 한다)
- 3 (KERN_ERR)
- Non-critical error conditions.
- 치명적이지 않지만 분명한 문제가 발생했을 때. (응용 프로그램이 계속 실행될 수는 있다. 정상적으로 작동되지 않을 뿐...)
- 4 (KERN_WARNING)
- Warning conditions that should be taken care of.
- 시스템이 문제점을 해결할 수 있지만, 잠재적인 위험성을 내포하고 있는 상황.
- 예를 들어 형식이 잘못된 입력값(날짜를 입력할 때 yyyy-MM-dd인데 2010-1-21로 입력한다든지)
- 5 (KERN_NOTICE)
- Normal, but significant events.
- 정상임. 하지만 중요한 사건이 발생됨. 사용자에게 공지됨이 전제되어야 한다.
- 6 (KERN_INFO)
- Informational messages that require no action.
- 추가 정보. 확인시 추가 조치가 필요 없다.
- 7 (KERN_DEBUG)
- Kernel debugging messages, output by the kernel if the developer enabled debugging at compile time.
- 디버깅을 위함.
List of Log Aggregator
- Scribe
- Apache Flume
- Fluentd
- ELK Stack (Elasticsearch, Logstash, Kibana, Beats)
- Graylog
See also
- syslog
- Metrics Aggregations
- Log Aggregator: 여러 머신에서 쌓인 로그들을 한 번에 분석할 수 있도록 수집하여 주는 시스템을 말한다.
- angle-grinder - 로그를 실시간으로 파싱, 집계, 합계, 평균, 최대/최소, 정렬 가능한 뷰어 - graphite/kibana/honeycomb/splunk 등이 없을 때 간단하게 정교한 분석 수행 가능
- LogFX - 멀티플랫폼 오픈소스 로그 뷰어
- Rsyslog
- tailspin - 로그 파일 highlighter
- LogLayer - 여러 Javascript 로깅 라이브러리 위에서 동작하는 통합 로거