기본적으로 SQL Server Driver for PHP에서 생성되는 오류와 경고는 기록되지 않습니다. sqlsrv_configure 함수를 사용하거나 php.ini 파일을 변경하면 로깅을 설정할 수 있습니다. 초기화, 연결, 문 또는 오류 함수에 대한 작업을 기록할 수 있습니다. 오류, 경고, 알림 또는 이 세 가지 모두를 기록할지를 지정할 수 있습니다.
로깅 설정
LogSubsystems 설정에 값을 지정하는 sqlsrv_configure 함수를 사용하여 로깅을 설정할 수 있습니다. 예를 들어, 다음 코드 줄에서는 연결 시 작업을 기록하도록 드라이버를 구성합니다.
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN);
다음 표에서는 LogSubsystems 설정 값으로 사용할 수 있는 상수에 대해 설명합니다.
| 값(괄호 안의 값은 해당 정수) | 설명 |
|---|---|
SQLSRV_LOG_SYSTEM_ALL (-1) |
모든 하위 시스템의 로깅을 설정합니다. |
SQLSRV_LOG_SYSTEM_OFF (0) |
로깅을 해제합니다. |
SQLSRV_LOG_SYSTEM_INIT (1) |
초기화 작업의 로깅을 설정합니다. |
SQLSRV_LOG_SYSTEM_CONN (2) |
연결 작업의 로깅을 설정합니다. |
SQLSRV_LOG_SYSTEM_STMT (4) |
문 작업의 로깅을 설정합니다. |
SQLSRV_LOG_SYSTEM_UTIL (8) |
handle_error 및 handle_warning과 같은 오류 함수 작업의 로깅을 설정합니다. |
논리 OR 연산자(|)를 사용하여 LogSubsystems 설정에 한 번에 두 개 이상의 값을 설정할 수 있습니다. 예를 들어, 다음 코드 줄에서는 연결과 문 작업 모두에 대해 로깅을 설정합니다.
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_CONN | SQLSRV_LOG_SYSTEM_STMT);
php.ini 파일의 LogSubsystems 설정에 정수 값을 지정하여 로깅을 설정할 수도 있습니다. 예를 들어, php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 연결 작업의 로깅이 설정됩니다.
sqlsrv.LogSubsystems = 2
정수 값을 함께 추가하여 한 번에 둘 이상의 옵션을 지정할 수 있습니다. 예를 들어, php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 연결 및 문 작업의 로깅이 설정됩니다.
sqlsrv.LogSubsystems = 6
오류, 경고 및 알림 기록
로깅을 설정한 후에는 기록할 대상을 지정해야 합니다. 오류, 경고, 알림 중에서 하나 이상을 기록할 수 있습니다. 예를 들어, 다음 코드 줄에서는 경고만 기록되도록 지정합니다.
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_WARNING);
참고
LogSeverity의 기본 설정은 SQLSRV_LOG_SEVERITY_ERROR입니다. 로깅을 설정한 후 LogSeverity에 대한 설정을 지정하지 않으면 오류만 기록됩니다.
다음 표에서는 LogSeverity 설정 값으로 사용할 수 있는 상수에 대해 설명합니다.
| 값(괄호 안의 값은 해당 정수) | 설명 |
|---|---|
SQLSRV_LOG_SEVERITY_ALL (-1) |
오류, 경고 및 알림이 기록되도록 지정합니다. |
SQLSRV_LOG_SEVERITY_ERROR (1) |
오류가 기록되도록 지정합니다. |
SQLSRV_LOG_SEVERITY_WARNING (2) |
경고가 기록되도록 지정합니다. |
SQLSRV_LOG_SEVERITY_NOTICE (4) |
알림이 기록되도록 지정합니다. |
논리 OR 연산자(|)를 사용하여 LogSeverity 설정에 한 번에 두 개 이상의 값을 설정할 수 있습니다. 예를 들어, 다음 코드 줄에서는 오류와 경고가 기록되도록 지정합니다.
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR | SQLSRV_LOG_SEVERITY_WARNING);
참고
LogSeverity 설정에 값을 지정해도 로깅이 설정되지 않습니다. LogSubsystems 설정에 값을 지정하여 로깅을 설정한 다음 LogSeverity 값을 설정하여 기록 대상의 심각도를 지정해야 합니다.
php.ini 파일에 정수 값을 사용하여 LogSeverity 설정 값을 지정할 수도 있습니다. 예를 들어, php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 경고 로깅만 사용됩니다.
sqlsrv.LogSeverity = 2
정수 값을 함께 추가하여 한 번에 둘 이상의 옵션을 지정할 수 있습니다. 예를 들어, php.ini 파일의 [sqlsrv] 섹션에 다음 줄을 추가하면 오류 및 경고 로깅이 사용됩니다.
sqlsrv.LogSeverity = 3
참고 항목
참조
sqlsrv_configure
sqlsrv_get_config