TenantVisitorFloorPolicyService:
- [POLICY-HIT] log when policy matched with orgId, policyId, allowZones
- [POLICY-MISS] debug log when no policy found for orgId
- [POLICY-EMPTY] warn when allow_zone_ids parsed empty
- [POLICY-FALLBACK] warn on query failure with orgId context
- [POLICY-RESULT] info on matched orgId and zones in batch check
ImgPersonServiceImpl.detail():
- [DETAIL] log raw floorList from listByImageId
- [DETAIL-POLICY] log floorList REPLACED: before→after with orgIds
- [DETAIL] warn when listByImageId fails
ImgPersonServiceImpl.listByPage():
- [LIST-PAGE-POLICY] log policy hit with zone count and default
- [LIST-PAGE-XHW] debug log for 40F/6F hardcoded branch
- [LIST-PAGE-FILTER] debug log when visitor label filtered
PersonRuleServiceImpl.addVisitor():
- [ADDV-DETAIL] log detail floorList and orgIds