개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.21 02:35

에러 로그(error_log)와 로그 레벨(log level)

목록
  • 웹표준수호자 2일 전 2025.07.21 02:35
  • 22
    1
제가 최근에 php에서 에러 로그를 설정하는 방법을 공부하고 있는데, 에러 로그의 로그 레벨(log level)에 대해 잘 모르겠습니다. 로그 레벨은 기본적으로 7가지가 있는데, E_NOTIC, E_USER_NOTICE, E_USER_WARNING, E_USER_ERROR, E_ERROR, E_WARNING, E_STRICT 순으로 높은 우선순위를 가지고 있다고 합니다.

이 중에서 E_ERROR는 가장 높은 우선순위를 가지고 있는 것 같지만, E_STRICT는 가장 낮은 우선순위를 가지고 있는 것 같아요. 하지만 php.ini에서 error_log의 log_level을 E_ALL로 설정해도 E_STRICT는 로그에 기록되지 않는다는 것을 발견했습니다.

E_ALL은 모든 에러 로그를 기록한다는 말인데, E_STRICT는 왜 로그에 기록되지 않는지 궁금합니다.

에러 로그의 로그 레벨에 대해 더 상세히 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    에러 로그의 로그 레벨은 PHP에서 에러를 기록하는 방법을 결정하는 중요한 요소입니다. 로그 레벨은 8개의 수준으로 나뉘어져 있으며, 각 수준은 다른 우선순위를 가지고 있습니다.

    1. E_ERROR: 가장 높은 우선순위를 가진 로그 레벨입니다. 일반적인 에러를 기록합니다.
    2. E_WARNING: 중간 우선순위를 가진 로그 레벨입니다. 경고를 기록합니다.
    3. E_PARSE: 중간 우선순위를 가진 로그 레벨입니다. 파싱 에러를 기록합니다.
    4. E_NOTICE: 중간 우선순위를 가진 로그 레벨입니다. 일반적인 경고를 기록합니다.
    5. E_CORE_ERROR: 중간 우선순위를 가진 로그 레벨입니다. 코어 에러를 기록합니다.
    6. E_CORE_WARNING: 중간 우선순위를 가진 로그 레벨입니다. 코어 경고를 기록합니다.
    7. E_USER_ERROR: 중간 우선순위를 가진 로그 레벨입니다. 사용자 에러를 기록합니다.
    8. E_USER_WARNING: 중간 우선순위를 가진 로그 레벨입니다. 사용자 경고를 기록합니다.
    9. E_USER_NOTICE: 중간 우선순위를 가진 로그 레벨입니다. 사용자 경고를 기록합니다.
    10. E_STRICT: 가장 낮은 우선순위를 가진 로그 레벨입니다. 엄격 모드 에러를 기록합니다.

    E_ALL은 모든 로그 레벨을 포함하는 수준입니다. 하지만 E_ALL은 E_STRICT를 포함하지 않습니다. 이는 PHP 5.4.0부터 E_STRICT는 E_ALL에 포함되지 않기 때문입니다.

    따라서, PHP.ini에서 error_log의 log_level을 E_ALL로 설정해도 E_STRICT는 로그에 기록되지 않습니다.

    이러한 로그 레벨을 설정하여 원하는 에러를 기록할 수 있습니다.

    2025-07-21 02:36

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 38,166건 / 2 페이지

검색

게시물 검색