sentry-php-sdk은(는) 무엇을 하나요?
PHP용 Sentry SDK 전체 설정입니다. 'PHP에 Sentry 추가', 'sentry/sentry 설치', 'PHP에서 Sentry 설정'과 같은 요청이나 PHP 애플리케이션의 오류 모니터링, 트레이싱, 프로파일링, 로깅, 메트릭, 크론 설정 시 사용합니다. 일반 PHP, Laravel, Symfony를 지원합니다.
시작하기
1. SDK 설치
Composer를 사용하여 Sentry PHP SDK를 설치합니다:
composer require sentry/sentry
2. 설정 구성
일반 PHP
Sentry\init(['dsn' => 'https://[email protected]/0']);
Laravel
Laravel의 경우 config/sentry.php 파일을 생성합니다:
return [
'dsn' => env('SENTRY_LARAVEL_DSN', env('SENTRY_DSN')),
'breadcrumbs' => [
'logs' => true,
'sql_queries' => true,
'sql_bindings' => true,
'queue_info' => true,
],
];
Symfony
Symfony의 경우 .env 파일에 DSN을 추가합니다:
SENTRY_DSN=https://[email protected]/0
3. 예외 캡처
try {
// 예외가 발생할 수 있는 코드
} catch (\Throwable $exception) {
\Sentry\captureException($exception);
}
4. 성능 트레이싱
트랜잭션을 시작하고 완료합니다:
\Sentry\startTransaction(['name' => 'my-transaction', 'op' => 'http.server']);
// ... 작업 수행 ...
\Sentry\getCurrentHub()->getTransaction()->setHttpStatus(200);
5. 사용자 컨텍스트 설정
\Sentry\configureScope(function (\Sentry\State\Scope $scope): void {
$scope->setUser(['email' => '[email protected]', 'id' => '123']);
});
주요 기능
- 오류 모니터링: 자동 및 수동 예외 캡처
- 성능 트레이싱: 트랜잭션 및 스팬 추적
- 프로파일링: 코드 실행 프로파일 수집
- 로깅: 컨텍스트 있는 로그 전송
- 메트릭: 사용자 정의 메트릭 전송
- 크론 모니터링: 크론 작업 상태 추적
환경 변수
SENTRY_DSN: Sentry 프로젝트 DSN (필수)SENTRY_ENVIRONMENT: 환경 이름 (예: production, staging)SENTRY_RELEASE: 릴리스 버전
자세한 문서
공식 문서는 Sentry PHP SDK 문서를 참조하세요.