InfoGrab Docs

n8n 로깅

요약

로깅은 디버깅에 중요한 기능입니다. n8n 셀프 호스팅 Enterprise 티어에는 이 문서에서 설명하는 로깅 옵션 외에도 로그 스트리밍이 포함됩니다. n8n에서 로깅을 설정하려면 다음 환경 변수를 설정해야 합니다(설정 파일에서 값을 설정할 수도 있습니다).

로깅은 디버깅에 중요한 기능입니다. n8n은 winston 로깅 라이브러리를 사용합니다.

로그 스트리밍

n8n 셀프 호스팅 Enterprise 티어에는 이 문서에서 설명하는 로깅 옵션 외에도 로그 스트리밍이 포함됩니다.

설정#

n8n에서 로깅을 설정하려면 다음 환경 변수를 설정해야 합니다(설정 파일에서 값을 설정할 수도 있습니다).

설정 파일의 설정 환경 변수 사용 설명
n8n.log.level N8N_LOG_LEVEL 로그 출력 레벨입니다. 사용 가능한 옵션은 (낮은 레벨에서 높은 레벨 순으로) error, warn, info, debug입니다. 기본값은 info입니다. 이 옵션에 대한 자세한 내용은 여기를 참조하세요.
n8n.log.output N8N_LOG_OUTPUT 로그를 출력할 위치입니다. 사용 가능한 옵션은 consolefile입니다. 여러 값을 쉼표(,)로 구분하여 사용할 수 있습니다. 기본적으로 console이 사용됩니다.
n8n.log.file.location N8N_LOG_FILE_LOCATION 로그 파일 위치로, 로그 출력이 파일로 설정된 경우에만 사용됩니다. 기본적으로 <n8nFolderPath>/logs/n8n.log가 사용됩니다.
n8n.log.file.fileSizeMax N8N_LOG_FILE_SIZE_MAX 각 로그 파일의 최대 크기(MB)입니다. 기본적으로 n8n은 16MB를 사용합니다.
n8n.log.file.fileCountMax N8N_LOG_FILE_COUNT_MAX 보관할 최대 로그 파일 수입니다. 기본값은 100입니다. 워커 사용 시 이 값을 설정해야 합니다.
# 로깅 레벨을 'debug'로 설정
export N8N_LOG_LEVEL=debug

# 콘솔과 로그 파일 모두에 로그 출력 설정
export N8N_LOG_OUTPUT=console,file

# 로그 파일 저장 위치 설정
export N8N_LOG_FILE_LOCATION=/home/jim/n8n/logs/n8n.log

# 각 로그 파일의 최대 크기를 50MB로 설정
export N8N_LOG_FILE_SIZE_MAX=50

# 보관할 최대 로그 파일 수를 60으로 설정
export N8N_LOG_FILE_COUNT_MAX=60

로그 레벨#

n8n은 표준 로그 레벨을 사용하여 보고합니다:

  • silent: 아무것도 출력하지 않습니다
  • error: 오류만 출력하고 다른 것은 출력하지 않습니다
  • warn: 오류와 경고 메시지를 출력합니다
  • info: 진행 상황에 대한 유용한 정보를 포함합니다
  • debug: 가장 상세한 출력입니다. n8n은 문제 디버깅에 도움이 되는 많은 정보를 출력합니다.

개발#

개발 중에 로그 메시지를 추가하는 것은 좋은 관행입니다. 오류 디버깅에 도움이 됩니다. 개발을 위한 로깅을 구성하려면 아래 가이드를 따르세요.

구현 세부 사항#

n8n은 workflow 패키지에 위치한 LoggerProxy 클래스를 사용합니다. Logger 인스턴스를 전달하여 LoggerProxy.init()을 호출하면 사용 전에 클래스가 초기화됩니다.

초기화 프로세스는 한 번만 발생합니다. start.ts 파일이 이미 이 프로세스를 처리합니다. 처음부터 새 명령을 생성하는 경우 LoggerProxy 클래스를 초기화해야 합니다.

cli 패키지에서 Logger 구현이 생성되면 내보낸 모듈의 getInstance 편의 메서드를 호출하여 가져올 수 있습니다.

이 프로세스의 작동 방식에 대한 자세한 내용은 start.ts 파일을 확인하세요.

로그 추가#

LoggerProxy 클래스가 프로젝트에서 초기화되면 다른 파일로 가져와 로그를 추가할 수 있습니다.

모든 로깅 레벨에 대한 편의 메서드가 제공되므로 Logger.<logLevel>('<message>', ...meta) 형식을 사용하여 필요할 때마다 새 로그를 추가할 수 있습니다. 여기서 metamessage 외에 원하는 추가 속성을 나타냅니다.

위의 예에서 우리는 위에서 설명한 표준 로그 레벨을 사용합니다. message 인수는 문자열이고 meta는 데이터 객체입니다.

// LoggerProxy를 가져와야 합니다. 더 쉽게 사용하기 위해 Logger로 이름을 변경합니다

import {
	LoggerProxy as Logger
} from 'n8n-workflow';

// 트리거 함수의 Info 레벨 로깅, 워크플로 이름과 워크플로 ID를 추가 메타데이터 속성으로 포함

Logger.info(`Polling trigger initiated for workflow "${workflow.name}"`, {workflowName: workflow.name, workflowId: workflow.id});

새 로거를 생성할 때 염두에 두어야 할 몇 가지 유용한 표준:

  • 로그 메시지를 최대한 인간이 읽기 쉽게 작성합니다. 예를 들어 항상 이름을 따옴표로 감쌉니다.
  • 위 예의 워크플로 이름처럼 로그 메시지와 메타데이터에 정보를 중복하면 메시지를 검색하기 쉽고 메타데이터로 필터링하기 쉬워 유용할 수 있습니다.
  • 모든 로그에 걸쳐 여러 ID(예: executionId, workflowId, sessionId)를 포함합니다.
  • 더 일관성이 있어 검색하기 쉬우므로 노드 이름 대신 노드 유형(또는 둘 다)을 사용합니다.

프론트엔드 로그#

현재 프론트엔드 로그는 사용할 수 없습니다. editor-ui 패키지에서 Logger 또는 LoggerProxy를 사용하면 오류가 발생합니다. 이 기능은 향후 버전에서 구현될 예정입니다.

n8n 로깅

원문 보기
요약

로깅은 디버깅에 중요한 기능입니다. n8n 셀프 호스팅 Enterprise 티어에는 이 문서에서 설명하는 로깅 옵션 외에도 로그 스트리밍이 포함됩니다. n8n에서 로깅을 설정하려면 다음 환경 변수를 설정해야 합니다(설정 파일에서 값을 설정할 수도 있습니다).

로깅은 디버깅에 중요한 기능입니다. n8n은 winston 로깅 라이브러리를 사용합니다.

로그 스트리밍

n8n 셀프 호스팅 Enterprise 티어에는 이 문서에서 설명하는 로깅 옵션 외에도 로그 스트리밍이 포함됩니다.

설정#

n8n에서 로깅을 설정하려면 다음 환경 변수를 설정해야 합니다(설정 파일에서 값을 설정할 수도 있습니다).

설정 파일의 설정 환경 변수 사용 설명
n8n.log.level N8N_LOG_LEVEL 로그 출력 레벨입니다. 사용 가능한 옵션은 (낮은 레벨에서 높은 레벨 순으로) error, warn, info, debug입니다. 기본값은 info입니다. 이 옵션에 대한 자세한 내용은 여기를 참조하세요.
n8n.log.output N8N_LOG_OUTPUT 로그를 출력할 위치입니다. 사용 가능한 옵션은 consolefile입니다. 여러 값을 쉼표(,)로 구분하여 사용할 수 있습니다. 기본적으로 console이 사용됩니다.
n8n.log.file.location N8N_LOG_FILE_LOCATION 로그 파일 위치로, 로그 출력이 파일로 설정된 경우에만 사용됩니다. 기본적으로 <n8nFolderPath>/logs/n8n.log가 사용됩니다.
n8n.log.file.fileSizeMax N8N_LOG_FILE_SIZE_MAX 각 로그 파일의 최대 크기(MB)입니다. 기본적으로 n8n은 16MB를 사용합니다.
n8n.log.file.fileCountMax N8N_LOG_FILE_COUNT_MAX 보관할 최대 로그 파일 수입니다. 기본값은 100입니다. 워커 사용 시 이 값을 설정해야 합니다.
# 로깅 레벨을 'debug'로 설정
export N8N_LOG_LEVEL=debug

# 콘솔과 로그 파일 모두에 로그 출력 설정
export N8N_LOG_OUTPUT=console,file

# 로그 파일 저장 위치 설정
export N8N_LOG_FILE_LOCATION=/home/jim/n8n/logs/n8n.log

# 각 로그 파일의 최대 크기를 50MB로 설정
export N8N_LOG_FILE_SIZE_MAX=50

# 보관할 최대 로그 파일 수를 60으로 설정
export N8N_LOG_FILE_COUNT_MAX=60

로그 레벨#

n8n은 표준 로그 레벨을 사용하여 보고합니다:

  • silent: 아무것도 출력하지 않습니다
  • error: 오류만 출력하고 다른 것은 출력하지 않습니다
  • warn: 오류와 경고 메시지를 출력합니다
  • info: 진행 상황에 대한 유용한 정보를 포함합니다
  • debug: 가장 상세한 출력입니다. n8n은 문제 디버깅에 도움이 되는 많은 정보를 출력합니다.

개발#

개발 중에 로그 메시지를 추가하는 것은 좋은 관행입니다. 오류 디버깅에 도움이 됩니다. 개발을 위한 로깅을 구성하려면 아래 가이드를 따르세요.

구현 세부 사항#

n8n은 workflow 패키지에 위치한 LoggerProxy 클래스를 사용합니다. Logger 인스턴스를 전달하여 LoggerProxy.init()을 호출하면 사용 전에 클래스가 초기화됩니다.

초기화 프로세스는 한 번만 발생합니다. start.ts 파일이 이미 이 프로세스를 처리합니다. 처음부터 새 명령을 생성하는 경우 LoggerProxy 클래스를 초기화해야 합니다.

cli 패키지에서 Logger 구현이 생성되면 내보낸 모듈의 getInstance 편의 메서드를 호출하여 가져올 수 있습니다.

이 프로세스의 작동 방식에 대한 자세한 내용은 start.ts 파일을 확인하세요.

로그 추가#

LoggerProxy 클래스가 프로젝트에서 초기화되면 다른 파일로 가져와 로그를 추가할 수 있습니다.

모든 로깅 레벨에 대한 편의 메서드가 제공되므로 Logger.<logLevel>('<message>', ...meta) 형식을 사용하여 필요할 때마다 새 로그를 추가할 수 있습니다. 여기서 metamessage 외에 원하는 추가 속성을 나타냅니다.

위의 예에서 우리는 위에서 설명한 표준 로그 레벨을 사용합니다. message 인수는 문자열이고 meta는 데이터 객체입니다.

// LoggerProxy를 가져와야 합니다. 더 쉽게 사용하기 위해 Logger로 이름을 변경합니다

import {
	LoggerProxy as Logger
} from 'n8n-workflow';

// 트리거 함수의 Info 레벨 로깅, 워크플로 이름과 워크플로 ID를 추가 메타데이터 속성으로 포함

Logger.info(`Polling trigger initiated for workflow "${workflow.name}"`, {workflowName: workflow.name, workflowId: workflow.id});

새 로거를 생성할 때 염두에 두어야 할 몇 가지 유용한 표준:

  • 로그 메시지를 최대한 인간이 읽기 쉽게 작성합니다. 예를 들어 항상 이름을 따옴표로 감쌉니다.
  • 위 예의 워크플로 이름처럼 로그 메시지와 메타데이터에 정보를 중복하면 메시지를 검색하기 쉽고 메타데이터로 필터링하기 쉬워 유용할 수 있습니다.
  • 모든 로그에 걸쳐 여러 ID(예: executionId, workflowId, sessionId)를 포함합니다.
  • 더 일관성이 있어 검색하기 쉬우므로 노드 이름 대신 노드 유형(또는 둘 다)을 사용합니다.

프론트엔드 로그#

현재 프론트엔드 로그는 사용할 수 없습니다. editor-ui 패키지에서 Logger 또는 LoggerProxy를 사용하면 오류가 발생합니다. 이 기능은 향후 버전에서 구현될 예정입니다.