# 앱 개발에 필요한 로그 샘플 추출 방법

**URL:** <https://forum.logpresso.com/t/topic/98>\
**Category:** How To\
**Created:** [5월 30, 2025, 12:22오전 UTC](https://forum.logpresso.com/t/topic/98 "2025-05-30T00:22:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![xeraph](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.logpresso.com/xeraph/32/6_2.png) [@xeraph](https://forum.logpresso.com/u/xeraph)\
**Post date:** [5월 30, 2025, 12:22오전 UTC](https://forum.logpresso.com/t/topic/98/1 "2025-05-30T00:22:14Z")

</div>

벤더에서 제공하는 로그 명세서와 제한된 로그 샘플만으로 파서를 개발하면 운영 환경에 적용 시 예상치 못한 특수문자 등으로 인해 파싱에 실패하는 사례가 종종 발생합니다. 일정을 준수하려면 한 번에 작업을 끝내는 것이 중요하고, 그러려면 실제 운영 환경에서 발견되는 예외적인 로그를 포함하여 샘플링해야 테스트를 완전하게 수행할 수 있습니다.

`signature` 쿼리 명령어는 현장에서의 로그 샘플링을 목적으로 제공되는 기능입니다. signature 명령어가 제공하는 특수문자 패턴으로 그룹핑하면 최소량의 샘플로 최대한의 테스트 케이스를 확보할 수 있습니다.

> **[signature | 로그프레소 쿼리](https://docs.logpresso.com/ko/query/signature-command)**
>
> signature 명령어는 line 필드로부터 특수문자의 집합으로 구성된 시그니처를 추출합니다. 이 기능은 주로 패턴 유형별 로그 샘플을 추출하기 위한 용도로 사용됩니다. 각 시그니처별 첫번째 샘플 로그를 추출하는 데 유용합니다.

아래는 사용 예입니다:

```auto
wget url="https://raw.githubusercontent.com/logpresso/dataset/main/wp-nginx.log"
| eval line = subarray(split(line, "\n"), 0) 
| explode line 
| signature 
| stats first(line) as line by signature

```

 ![image](https://canada1.discourse-cdn.com/flex034/uploads/logpresso/original/1X/5a1a7e4d5dc4df19a735310f404e26c4aaacf9f2.png)

로그 유형에 해당하는 필드가 존재한다면, 해당 로그 유형을 정규식으로 추출한 후 signature와 해당 로그 유형의 그룹으로 추출해야 합니다.

이제 쿼리 결과를 JSON 파일로 다운로드 받아서 지원 포털에 전달해주시면 됩니다.

---

<div class="post-metadata">

**Author:** ![moonyonkim](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.logpresso.com/moonyonkim/32/23_2.png) [@moonyonkim](https://forum.logpresso.com/u/moonyonkim)\
**Post date:** [5월 30, 2025, 12:29오전 UTC](https://forum.logpresso.com/t/topic/98/2 "2025-05-30T00:29:11Z")

</div>

혹시 여기서 signature라는 이름은 방화벽/IPS 로그에서 보이는 signature(공격명) 필드와 연관이 있을까요? 아니면 각 로그 유형의 고유 특성이라는 의미에 가까울까요?

---

<div class="post-metadata">

**Author:** ![xeraph](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.logpresso.com/xeraph/32/6_2.png) [@xeraph](https://forum.logpresso.com/u/xeraph)\
**Post date:** [5월 30, 2025, 12:38오전 UTC](https://forum.logpresso.com/t/topic/98/3 "2025-05-30T00:38:27Z")

</div>

명령어의 이름은 공격명 필드와 무관하고 고유 패턴의 의미입니다.
