Python

Python 애플리케이션에서 로그를 수집하려면 다음을 확인해주세요.

1. 에이전트 업그레이드

Python Agent 1.2.2 버전부터 가능합니다.
업데이트 방법은 링크에서 확인해주세요.

2. 로그 수집 활성화

설정 파일 경로(WHATAP_HOME)를 포함한 명령어를 입력하시면 로그 수집이 바로 시작됩니다.

export LOGFILES={로그파일전체경로},...
echo "logsink_enabled=true" | sudo tee -a {설정파일경로}/whatap.conf
echo "logsink.files=$LOGFILES" | sudo tee -a {설정파일경로}/whatap.conf

3. 로그와 웹 트랜잭션 연동

트랜잭션별로 발생한 로그를 별도로 조회 가능하도록 트랜잭션 아이디({txid})를 로그에 출력합니다. 와탭 모니터링에서는 파이썬 LogRecord에 {txid}를 자동 주입하여 포매터 설정시 로그 파일에 {txid}를 출력할 수 있도록 합니다.

django framework

settings.py
...
LOGGING = {
...
    'formatters': {
        ...
    },
    'handlers': {
        ...
    },
    'loggers': {
        ...
        '{로거이름}': {
            'handlers': [...],
        ...
        },
    },
}

try:
    import whatap.trace.mod.logging as whatap_logging
    if whatap_logging.logging_injection_processed:
        LOGGING['formatters']['whatap.formatter']={
                '()': 'django.utils.log.ServerFormatter',
                'format': '[{server_time}] -- {{ "@txid" : "{txid}" }} -- {message}',
                'style': '{',
            }
        LOGGING['handlers']['whatap']={
                'level': 'DEBUG',
                'class': 'logging.handlers.RotatingFileHandler',
                'filename': os.path.join(BASE_DIR, 'logs','whatap_log.log'),
                'formatter': 'whatap.formatter',
            }
        LOGGING['loggers'][{로거이름}]['handlers'].append('whatap')
except:
    pass
...