Closed minkikim89 closed 7 years ago
@jhpark816
service 코드를 설정대로 찾게 되면 기존 그대로
getLogger().info("Connecting to Arcus %scluster", arcusReplEnabled ? "replication " : "");
실패일 때 기존 코드에 추가 메시지를 붙여서
repl 설정이 false일 때,
-> "Arcus cluster not found for XXX service. But replication cluster found for XXX service. If you mean it, please set arcusReplEnabled flag to true by setArcusReplEnabled(true)"
repl 설정이 true일 때
-> "Arcus replication cluster not found for XXX service. But normal cluster found for XXX service. If you mean it, please set arcusReplEnabled flag to false”
정도면 어떨까 생각합니다.
아래와 같이 메세지 길이를 줄여 봤어요.
ARCUS cluster of \"%s\" is replication enabled. Please, do call setArcusReplEnabled(true).
ARCUS cluster of \"%s\" is replication disabled. Please, do not call setArcusReplEnabled(true).
No ARCUS cluster is prepared for \"%s\".
API가 변경되는 경우를 고려해도 보면 setArcusReplEnabled(true)
와 같이 직접적인 함수를 로그에 출력하는 것 보다는 ConnectionFactoryBuilder 를 통해 이중화 설정을 하라는 등의 로그를 출력하는 것이 어떨까 합니다.
또한, 로그 메시지에 특정 함수 이름이 직접적으로 출력되는 것도 좀 어색한 것 같습니다. 😅
사실 ConnectionFactoryBuilder 를 직접적으로 언급하는 것도 좀 모양새가 애매하긴 한데, 더 좋은 방법이 바로 떠오르진 않네요.
예)
ARCUS cluster of \"%s\" is replication enabled. Please, enable replication configuration by ConnectionFactoryBuilder
메세지 수정합니다.
To use an ARCUS cluster named \"%s\", you must enable replication with ConnectionFactoryBuilder.
To use an ARCUS cluster named \"%s\", you must not enable replication with ConnectionFactoryBuilder.
An ARCUS cluster named \"%s\" does not exist.
메시지 수정하여 반영한 상태이므로 이슈 close 하겠습니다.
setArcusReplEnabled 플래그를 사용하며 응용에서 정확한 message를 받지 못해 헷갈려하는 경우가 잦다. replication 을 사용하던지 안하던지 serviceCode를 정해진 설정에서 찾지 못한다면 양쪽을 다 확인하여 replication 플래그를 잘못설정한 게 아닌지에 대한 메시지를 던지도록 변경해야한다.