

# 문자열 조작 프로세서
<a name="string-processors"></a>

문자열 프로세서는 사례 변환, 자르기, 패턴 일치 같은 작업을 통해 로그 이벤트 내의 텍스트 값을 수정합니다.

## lowercase\$1string 프로세서
<a name="lowercase-string-processor"></a>

지정된 필드를 소문자로 변환합니다.

**구성**  
다음과 같은 파라미터를 사용하여 lowercase\$1string 프로세서를 구성합니다.

```
processor:
  - lowercase_string:
      with_keys: ["status", "method"]
```파라미터

`with_keys`(필수)  
소문자로 변환할 필드 이름의 배열입니다. 문자열 값만 처리합니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## uppercase\$1string 프로세서
<a name="uppercase-string-processor"></a>

지정된 필드를 대문자로 변환합니다.

**구성**  
다음과 같은 파라미터를 사용하여 uppercase\$1string 프로세서를 구성합니다.

```
processor:
  - uppercase_string:
      with_keys: ["status_code", "method"]
```파라미터

`with_keys`(필수)  
대문자로 변환할 필드 이름의 배열입니다. 문자열 값만 처리합니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## trim\$1string 프로세서
<a name="trim-string-processor"></a>

지정된 필드에서 선행 및 후행 공백을 제거합니다.

**구성**  
다음과 같은 파라미터를 사용하여 trim\$1string 프로세서를 구성합니다.

```
processor:
  - trim_string:
      with_keys: ["message", "user_input"]
```파라미터

`with_keys`(필수)  
공백을 잘라낼 필드 이름의 배열입니다. 문자열 값만 처리합니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## substitute\$1string 프로세서
<a name="substitute-string-processor"></a>

정규식을 사용하여 문자열 대체를 수행합니다.

**구성**  
다음과 같은 파라미터를 사용하여 substitute\$1string 프로세서를 구성합니다.

```
processor:
  - substitute_string:
      entries:
        - source: "message"
          from: "ERROR"
          to: "WARN"
```파라미터

`entries`(필수)  
각 로그 이벤트에 대해 수행할 대체 작업의 배열입니다.

`entries[].source`(필수)  
문자열 대체를 수행할 필드입니다.

`entries[].from`(필수)  
일치되면 대체할 정규식 패턴입니다.

`entries[].to`(필수)  
일치한 패턴의 대체 문자열입니다.

`when` (선택 사항)  
프로세서 수준 조건부 표현식. 지정된 경우 표현식이 false로 평가되면 전체 프로세서를 건너뜁니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

`entries[].when` (선택 사항)  
항목 수준 조건부 표현식. 지정된 경우 표현식이 false로 평가되면 이 항목만 건너뜁니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

`entries[].when_else` (선택 사항)  
동일한 프로세서의 다른 `when` 조건이 일치하지 않는 경우에만 실행되는 폴백 항목. 표현식 값은 고려할 `when` 조건을 식별합니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## truncate 프로세서
<a name="truncate-processor"></a>

필드 값을 지정된 길이로 자릅니다.

**구성**  
다음과 같은 파라미터를 사용하여 truncate 프로세서를 구성합니다.

```
processor:
  - truncate:
      source_keys: ["message", "description"]
      length: 100
      start_at: 0
```파라미터

`source_keys`(필수)  
잘라낼 필드 이름의 배열입니다. 각 필드 이름은 최대 128자입니다.

`length` (선택 사항)  
자른 후의 최대 길이입니다. 범위: 1\$18192.

`start_at` (선택 사항)  
자르기를 시작할 위치입니다. 범위: 0\$18192. 기본값은 0입니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## extract\$1value 프로세서
<a name="extract-value-processor"></a>

정규식을 사용하여 값을 추출합니다.

**구성**  
다음과 같은 파라미터를 사용하여 extract\$1value 프로세서를 구성합니다.

```
processor:
  - extract_value:
      entries:
        - source: "message"
          target: "extracted_data"
          from: "user=(?<user>\\w+)"
          to: "${user}"
          target_type: "string"
```파라미터

`entries`(필수)  
추출 작업의 배열입니다. 최대 항목 수는 20개입니다.

`entries[].source`(필수)  
추출해 올 필드입니다. 최대 128자입니다.

`entries[].target`(필수)  
추출된 값의 대상 필드입니다. 최대 128자입니다.

`entries[].from`(필수)  
정규식 패턴입니다. 최대 128자입니다.

`entries[].to`(필수)  
캡처 그룹이 있는 대체 패턴입니다. 최대 128자입니다.

`entries[].target_type` (선택 사항)  
대상 데이터 유형('정수', '실수', '문자열', '부울')입니다.

`when` (선택 사항)  
프로세서 수준 조건부 표현식. 지정된 경우 표현식이 false로 평가되면 전체 프로세서를 건너뜁니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

`entries[].when` (선택 사항)  
항목 수준 조건부 표현식. 지정된 경우 표현식이 false로 평가되면 이 항목만 건너뜁니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

`entries[].when_else` (선택 사항)  
동일한 프로세서의 다른 `when` 조건이 일치하지 않는 경우에만 실행되는 폴백 항목. 표현식 값은 고려할 `when` 조건을 식별합니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## convert\$1entry\$1type 프로세서
<a name="convert-entry-type-processor"></a>

서로 다른 데이터 형식 간에 필드 값을 변환합니다.

**구성**  
다음과 같은 파라미터를 사용하여 convert\$1entry\$1type 프로세서를 구성합니다.

```
processor:
  - convert_entry_type:
      key: "count"
      type: "integer"
```파라미터

`key`(필수)  
변환할 단일 필드 이름입니다.

`type`(필수)  
대상 데이터 유형입니다. 옵션: '정수', '실수', '문자열', '부울'.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## date 프로세서
<a name="date-processor"></a>

날짜/시간 필드를 구문 분석하고 형식을 지정합니다.

**구성**  
다음과 같은 파라미터를 사용하여 date 프로세서를 구성합니다.

```
processor:
  - date:
      match:
        - key: "timestamp"
          patterns: ["yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"]
      destination: "@timestamp"
      source_timezone: "UTC"
      destination_timezone: "America/New_York"
```파라미터

`match`(필수)  
날짜 매칭 구성의 배열입니다. 최대 항목 수는 10개입니다.

`match[].key`(필수)  
날짜 문자열이 포함된 필드입니다. 최대 128자입니다.

`match[].patterns`(필수)  
시도할 날짜 형식 패턴의 배열입니다. 최대 패턴 수는 5개이며, 각각 최대 256자입니다.

`destination` (선택 사항)  
구문 분석된 모든 날짜에 대한 단일 대상 필드입니다. 최대 128자입니다.

`source_timezone` (선택 사항)  
구문 분석의 소스 시간대입니다.

`destination_timezone` (선택 사항)  
출력의 대상 시간대입니다.

`output_format` (선택 사항)  
출력 날짜 형식입니다. 최대 64자입니다.

`destination_type` (선택 사항)  
출력 유형 - 'timestampz', 'long' 또는 'string'.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## dissect 프로세서
<a name="dissect-processor"></a>

패턴 매칭을 사용하여 정형 데이터를 추출합니다.

**구성**  
다음과 같은 파라미터를 사용하여 dissect 프로세서를 구성합니다.

```
processor:
  - dissect:
      map:
        message: "%{timestamp} %{level}"
```파라미터

`map`(필수)  
디섹트 패턴을 사용한 필드 매핑입니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## list\$1to\$1map 프로세서
<a name="list-to-map-processor"></a>

배열 필드를 맵 구조로 변환합니다.

**구성**  
다음과 같은 파라미터를 사용하여 list\$1to\$1map 프로세서를 구성합니다.

```
processor:
  - list_to_map:
      source: "tags"
      key: "name"
      value_key: "value"
      target: "tag_map"
```파라미터

`source`(필수)  
배열 데이터가 포함된 필드입니다. 최대 128자입니다.

`key`(필수)  
맵 키로 사용할 필드 이름입니다. 최대 128자입니다.

`value_key` (선택 사항)  
맵 값으로 사용할 필드 이름입니다. 최대 128자입니다.

`target` (선택 사항)  
맵 구조의 대상 필드입니다. 최대 128자입니다.

`flatten` (선택 사항)  
결과 맵을 평면화할지 설정합니다.

`flattened_element` (선택 사항)  
평면화할 때 사용할 요소입니다('first' 또는 'last').

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## rename\$1keys 프로세서
<a name="rename-keys-processor"></a>

로그 이벤트의 필드 이름을 변경합니다.

**구성**  
다음과 같은 파라미터를 사용하여 rename\$1keys 프로세서를 구성합니다.

```
processor:
  - rename_keys:
      entries:
        - from_key: "old_name"
          to_key: "new_name"
          overwrite_if_to_key_exists: true
```파라미터

`entries`(필수)  
이름 바꾸기 작업의 배열입니다. 최대 항목 수는 5개입니다.

`entries[].from_key`(필수)  
현재 필드 이름입니다. 최대 128자입니다.

`entries[].to_key`(필수)  
새 필드 이름입니다. 최대 128자입니다.

`entries[].overwrite_if_to_key_exists` (선택 사항)  
기존 대상 필드를 덮어쓸지 설정합니다.

`when` (선택 사항)  
프로세서 수준 조건부 표현식. 지정된 경우 표현식이 false로 평가되면 전체 프로세서를 건너뜁니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

`entries[].when` (선택 사항)  
항목 수준 조건부 표현식. 지정된 경우 표현식이 false로 평가되면 이 항목만 건너뜁니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

`entries[].when_else` (선택 사항)  
동일한 프로세서의 다른 `when` 조건이 일치하지 않는 경우에만 실행되는 폴백 항목. 표현식 값은 고려할 `when` 조건을 식별합니다. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## select\$1entries 프로세서
<a name="select-entries-processor"></a>

이벤트에서 지정된 필드만 선택합니다.

**구성**  
다음과 같은 파라미터를 사용하여 select\$1entries 프로세서를 구성합니다.

```
processor:
  - select_entries:
      include_keys: ["timestamp", "level", "message"]
```파라미터

`include_keys`(필수)  
유지할 필드 이름의 배열입니다. 최대 키 수는 50개이며, 각각 최대 128자입니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.

## translate 프로세서
<a name="translate-processor"></a>

조회 테이블을 사용하여 필드 값을 변환합니다.

**구성**  
다음과 같은 파라미터를 사용하여 translate 프로세서를 구성합니다.

```
processor:
  - translate:
      mappings:
        - source: "status_code"
          targets:
            - target: "status_text"
              map:
                "200": "OK"
                "404": "Not Found"
```파라미터

`mappings`(필수)  
변환 구성의 배열입니다. 최대 매핑 수는 10개입니다.

`mappings[].source`(필수)  
변환할 필드입니다. 최대 128자입니다.

`mappings[].targets`(필수)  
대상 구성의 배열입니다. 최대 대상 수는 10개입니다.

`mappings[].targets[].target`(필수)  
대상 필드 이름입니다. 최대 128자입니다.

`mappings[].targets[].map`(필수)  
변환 매핑입니다. 최대 항목 수는 100개이며, 각 값은 최대 512자입니다.

`when` (선택 사항)  
이 프로세서의 실행 여부를 결정하는 조건식. 최대 길이는 256자입니다. [조건부 처리를 위한 표현식 구문](conditional-processing.md)을(를) 참조하세요.