감사 로그 활용하기
/admin/logs는 관리자용 추적 허브입니다. AnyVet Smart의 감사 로그는 단순 이벤트 목록이 아니라, 실시간 신규 로그 수신, 위험 요약, 상세 diff 비교, 강제 로그아웃, 삭제 복구 같은 대응 작업까지 포함합니다.
어떤 상황에서 감사 로그를 봐야 하나
- 누가 데이터를 수정했는지 확인할 때
- 로그인 실패나 보안 이벤트를 추적할 때
- 환불, 삭제, 재고 조정 같은 민감 행위의 근거를 확인할 때
- 운영 사고 후 재현 가능한 변경 이력을 확보할 때
상단 요약 카드 해석
감사 로그 헤더는 최근 7일 기준으로 요약 카드를 보여줍니다.
Critical AlertsLogin FailuresHigh Value Refunds
이 카드는 단순 수치뿐 아니라 스파크라인 추세를 함께 보여주므로, 급증 여부를 한눈에 파악할 수 있습니다.
실시간 상태 표시
헤더 옆 점 표시로 실시간 소켓 연결 여부를 확인할 수 있습니다.
- 초록색: 실시간 연결 중
- 회색: 연결 해제 또는 수신 없음
실시간 연결이 켜져 있으면 신규 로그와 critical alert가 화면과 토스트에 바로 반영됩니다.
필터 바 사용 방법
감사 로그 필터 바에는 기간 선택 UI가 함께 보이지만, 현재 코드 기준 핵심 조회는 아래 조건을 중심으로 동작합니다.
- 사용자
- 카테고리
- 액션 타입
- 검색어
기간 선택은 운영 화면 구성상 준비되어 있으므로, 실제 배포 환경에서 API 반영 여부를 병원별로 확인하는 편이 안전합니다.
카테고리 예시
SecuritySOAPPOSInventorySystemMarketingBilling
액션 예시
CreateUpdateDeleteExportLoginLoginFailedLogoutRefundForceLogoutSyncAdjustment
테이블을 읽는 방법
감사 로그 테이블에는 다음 정보가 있습니다.
- 날짜와 시각
- 사용자명과 역할
- 카테고리
- 액션
- 대상
- 상세 설명
- IP / 디바이스
위험도(Critical)가 높은 행은 강조되어 보여지므로, 일반 운영 이슈보다 먼저 검토합니다.
상세 시트에서 확인할 것
행 오른쪽의 조회 버튼을 열면 상세 시트가 나타납니다.
시트에서 볼 수 있는 정보
- 로그 ID
- 액션 배지
- 행위자(actor)
- 대상(target)
- 요약 설명
- 디바이스 정보
- 네트워크/IP 정보
- 위치 메타데이터
- 데이터 변경 전후(JSON diff)
Diff를 어떻게 활용하나
- 삭제 전 값과 삭제 후 상태 비교
- 수정 전후 필드 차이 확인
- 잘못된 정정 범위를 최소화
상세 시트에서 가능한 대응
Force Logout
로그와 연결된 사용자가 있으면 강제 로그아웃을 실행할 수 있습니다. 계정 오용이 의심될 때 즉시 세션을 끊는 대응입니다.
Restore
삭제(Delete) 계열 로그는 복구 버튼이 노출될 수 있습니다. 실수 삭제를 되돌릴 때 사용합니다.
⚠️ Warning: 감사 로그의 복구와 강제 로그아웃은 조사용 화면에서 바로 실행되는 민감 작업입니다. 사실 확인 전 연속 클릭하지 말고, 운영 책임자 승인 흐름을 병행하세요.
Reason for Change 운영
코드상 ReasonForChangeModal이 준비되어 있어 변경 사유를 강제하는 패턴을 쓸 수 있습니다. 병원 운영 정책상 민감한 수정은 사유 입력을 표준으로 삼는 편이 좋습니다.
Export를 언제 쓰나
- 외부 감사 대응
- 사고 보고서 첨부
- 특정 사용자/특정 기간 증빙 보관
운영 팁
- 감사 로그만 보고 결론내리지 말고, 관련 화면의 상태와 함께 확인하세요.
- 재고 이슈는 과 같이 봐야 정확합니다.
- 결제 이슈는 와 같이 보면 원인 파악이 빨라집니다.