## 프로젝트 개요
실시간 로그 파싱 및 필터링 기능을 제공하는 함수형 데이터 처리 시스템입니다. 잘못된 입력을 감지하고, 다양한 필터 조합으로 빠른 분석이 가능한 구조를 설계했습니다.
## 주요 기능
- 실시간 로그 입력 처리
- 타임스탬프 기반 필터링
- 오류 허용 시 스킵 모드 활성화
- 확장 가능한 필터 규칙 시스템
- 예외 안전한 데이터 파싱
## 사용 방법
콘솔에서 다음과 같이 실행:
$ clj -M log_processing.clj
입력: 로그 라인(예: "2024-03-05 14:30:00 INFO User login"). 잘못된 형식은 자동으로 스킵됩니다.
## 확장 가능성
추가 필터 규칙을 구현하기 위해 `filter-rules`를 확장하거나, 파서 함수를 재정의하여 새로운 로그 포맷 지원 가능
🟢 로그 분석을 위한 함수형 데이터 처리 시스템
Clojure 예제
중급
난이도
예제
타입
10/14
등록일
로그 분석을 위한 함수형 데이터 처리 시스템
중급태그
코드 예제
(ns log-processing)
(defn parse-log [line]
(try
(let [[timestamp severity content] (re-find #"^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) (\w+) (.+)$" line)]
(when (and timestamp severity content)
{:timestamp timestamp
:severity severity
:content content}))
(catch Exception e
(println "잘못된 로그 형식: " line)
nil)))
(defn filter-log [rule-fn logs]
(filter rule-fn logs))
(defn main []
(let [logs (lazy-seq
(when-let [line (read-line)]
(cons (parse-log line) (main))))]
(doseq [log logs]
(when log
(println "로그: " log)))))
(main)
등록일: 2025년 10월 14일 02:41
언어 정보
언어
Clojure
카테고리
Functional
인기도
#26
학습 팁
코드를 직접 실행해보세요
변수를 바꿔가며 실험해보세요
오류가 나도 포기하지 마세요
다른 예제도 찾아보세요