Skip to content

Commit d4e01bb

Browse files
committed
🔨refactor: Use place holder instead of string interpolation for building log message
1 parent 7773db3 commit d4e01bb

File tree

8 files changed

+49
-46
lines changed

8 files changed

+49
-46
lines changed

src/main/scala/lerna/akka/entityreplication/ReplicationRegion.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ private[entityreplication] class ReplicationRegion(
100100
val decide = super.supervisorStrategy.decider(e)
101101
decide match {
102102
case directive =>
103-
if (log.isErrorEnabled) log.error(e, s"$directive")
103+
if (log.isErrorEnabled) log.error(e, "{}", directive)
104104
}
105105
decide
106106
}

src/main/scala/lerna/akka/entityreplication/raft/Candidate.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ private[raft] trait Candidate { this: RaftActor =>
5252
request match {
5353

5454
case RequestVote(_, term, candidate, _, _) if term == currentData.currentTerm && candidate == selfMemberIndex =>
55-
if (log.isDebugEnabled) log.debug(s"=== [Candidate] accept self RequestVote ===")
55+
if (log.isDebugEnabled) log.debug("=== [Candidate] accept self RequestVote ===")
5656
applyDomainEvent(Voted(term, selfMemberIndex)) { _ =>
5757
sender() ! RequestVoteAccepted(term, selfMemberIndex)
5858
}
@@ -61,15 +61,15 @@ private[raft] trait Candidate { this: RaftActor =>
6161
if term.isNewerThan(
6262
currentData.currentTerm,
6363
) && lastLogTerm >= currentData.replicatedLog.lastLogTerm && lastLogIndex >= currentData.replicatedLog.lastLogIndex =>
64-
if (log.isDebugEnabled) log.debug(s"=== [Candidate] accept RequestVote($term, $otherCandidate) ===")
64+
if (log.isDebugEnabled) log.debug("=== [Candidate] accept RequestVote({}, {}) ===", term, otherCandidate)
6565
cancelElectionTimeoutTimer()
6666
applyDomainEvent(Voted(term, otherCandidate)) { domainEvent =>
6767
sender() ! RequestVoteAccepted(domainEvent.term, selfMemberIndex)
6868
become(Follower)
6969
}
7070

7171
case request: RequestVote =>
72-
if (log.isDebugEnabled) log.debug(s"=== [Candidate] deny $request ===")
72+
if (log.isDebugEnabled) log.debug("=== [Candidate] deny {} ===", request)
7373
if (request.term.isNewerThan(currentData.currentTerm)) {
7474
cancelElectionTimeoutTimer()
7575
applyDomainEvent(DetectedNewTerm(request.term)) { _ =>
@@ -129,7 +129,7 @@ private[raft] trait Candidate { this: RaftActor =>
129129

130130
case appendEntries: AppendEntries =>
131131
if (currentData.hasMatchLogEntry(appendEntries.prevLogIndex, appendEntries.prevLogTerm)) {
132-
if (log.isDebugEnabled) log.debug(s"=== [Candidate] append $appendEntries ===")
132+
if (log.isDebugEnabled) log.debug("=== [Candidate] append {} ===", appendEntries)
133133
cancelElectionTimeoutTimer()
134134
if (appendEntries.entries.isEmpty && appendEntries.term == currentData.currentTerm) {
135135
// do not persist event when no need
@@ -155,7 +155,7 @@ private[raft] trait Candidate { this: RaftActor =>
155155
}
156156
}
157157
} else { // prevLogIndex と prevLogTerm がマッチするエントリが無かった
158-
if (log.isDebugEnabled) log.debug(s"=== [Candidate] could not append $appendEntries ===")
158+
if (log.isDebugEnabled) log.debug("=== [Candidate] could not append {} ===", appendEntries)
159159
cancelElectionTimeoutTimer()
160160
if (appendEntries.term == currentData.currentTerm) {
161161
applyDomainEvent(DetectedLeaderMember(appendEntries.leader)) { _ =>

src/main/scala/lerna/akka/entityreplication/raft/Follower.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ private[raft] trait Follower { this: RaftActor =>
1414

1515
case ElectionTimeout =>
1616
if (currentData.leaderMember.isEmpty) {
17-
if (log.isDebugEnabled) log.debug(s"=== [Follower] election timeout ===")
17+
if (log.isDebugEnabled) log.debug("=== [Follower] election timeout ===")
1818
} else {
1919
if (log.isWarningEnabled) log.warning("[{}] election timeout. Leader will be changed", currentState)
2020
}
@@ -42,12 +42,12 @@ private[raft] trait Follower { this: RaftActor =>
4242
request match {
4343

4444
case request: RequestVote if request.term.isOlderThan(currentData.currentTerm) =>
45-
if (log.isDebugEnabled) log.debug(s"=== [Follower] deny $request ===")
45+
if (log.isDebugEnabled) log.debug("=== [Follower] deny {} ===", request)
4646
sender() ! RequestVoteDenied(currentData.currentTerm)
4747

4848
case request: RequestVote
4949
if request.lastLogTerm < currentData.replicatedLog.lastLogTerm || request.lastLogIndex < currentData.replicatedLog.lastLogIndex =>
50-
if (log.isDebugEnabled) log.debug(s"=== [Follower] deny $request ===")
50+
if (log.isDebugEnabled) log.debug("=== [Follower] deny {} ===", request)
5151
if (request.term.isNewerThan(currentData.currentTerm)) {
5252
applyDomainEvent(DetectedNewTerm(request.term)) { _ =>
5353
sender() ! RequestVoteDenied(currentData.currentTerm)
@@ -57,23 +57,23 @@ private[raft] trait Follower { this: RaftActor =>
5757
}
5858

5959
case request: RequestVote if request.term.isNewerThan(currentData.currentTerm) =>
60-
if (log.isDebugEnabled) log.debug(s"=== [Follower] accept $request ===")
60+
if (log.isDebugEnabled) log.debug("=== [Follower] accept {} ===", request)
6161
cancelElectionTimeoutTimer()
6262
applyDomainEvent(Voted(request.term, request.candidate)) { domainEvent =>
6363
sender() ! RequestVoteAccepted(domainEvent.term, selfMemberIndex)
6464
resetElectionTimeoutTimer()
6565
}
6666

6767
case request: RequestVote if !currentData.alreadyVotedOthers(request.candidate) =>
68-
if (log.isDebugEnabled) log.debug(s"=== [Follower] accept $request ===")
68+
if (log.isDebugEnabled) log.debug("=== [Follower] accept {} ===", request)
6969
cancelElectionTimeoutTimer()
7070
applyDomainEvent(Voted(request.term, request.candidate)) { domainEvent =>
7171
sender() ! RequestVoteAccepted(domainEvent.term, selfMemberIndex)
7272
resetElectionTimeoutTimer()
7373
}
7474

7575
case request: RequestVote =>
76-
if (log.isDebugEnabled) log.debug(s"=== [Follower] deny $request ===")
76+
if (log.isDebugEnabled) log.debug("=== [Follower] deny {} ===", request)
7777
sender() ! RequestVoteDenied(currentData.currentTerm)
7878
}
7979

@@ -85,7 +85,7 @@ private[raft] trait Follower { this: RaftActor =>
8585

8686
case appendEntries: AppendEntries =>
8787
if (currentData.hasMatchLogEntry(appendEntries.prevLogIndex, appendEntries.prevLogTerm)) {
88-
if (log.isDebugEnabled) log.debug(s"=== [Follower] append $appendEntries ===")
88+
if (log.isDebugEnabled) log.debug("=== [Follower] append {} ===", appendEntries)
8989
cancelElectionTimeoutTimer()
9090
if (appendEntries.entries.isEmpty && appendEntries.term == currentData.currentTerm) {
9191
// do not persist event when no need
@@ -111,7 +111,7 @@ private[raft] trait Follower { this: RaftActor =>
111111
}
112112
}
113113
} else { // prevLogIndex と prevLogTerm がマッチするエントリが無かった
114-
if (log.isDebugEnabled) log.debug(s"=== [Follower] could not append $appendEntries ===")
114+
if (log.isDebugEnabled) log.debug("=== [Follower] could not append {} ===", appendEntries)
115115
cancelElectionTimeoutTimer()
116116
if (appendEntries.term == currentData.currentTerm) {
117117
applyDomainEvent(DetectedLeaderMember(appendEntries.leader)) { _ =>
@@ -132,7 +132,7 @@ private[raft] trait Follower { this: RaftActor =>
132132
private[this] def handleCommand(command: Command): Unit =
133133
(currentData.leaderMember, currentData.votedFor) match {
134134
case (Some(leader), _) =>
135-
if (log.isDebugEnabled) log.debug(s"=== [Follower] forward $command to $leader ===")
135+
if (log.isDebugEnabled) log.debug("=== [Follower] forward {} to {} ===", command, leader)
136136
region forward ReplicationRegion.DeliverTo(leader, ForwardedCommand(command))
137137
case (None, _) =>
138138
stash()

src/main/scala/lerna/akka/entityreplication/raft/Leader.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ private[raft] trait Leader { this: RaftActor =>
4848
if term.isNewerThan(
4949
currentData.currentTerm,
5050
) && lastLogTerm >= currentData.replicatedLog.lastLogTerm && lastLogIndex >= currentData.replicatedLog.lastLogIndex =>
51-
if (log.isDebugEnabled) log.debug(s"=== [Leader] accept RequestVote($term, $candidate) ===")
51+
if (log.isDebugEnabled) log.debug("=== [Leader] accept RequestVote({}, {}) ===", term, candidate)
5252
cancelHeartbeatTimeoutTimer()
5353
applyDomainEvent(Voted(term, candidate)) { domainEvent =>
5454
sender() ! RequestVoteAccepted(domainEvent.term, selfMemberIndex)
5555
become(Follower)
5656
}
5757

5858
case request: RequestVote =>
59-
if (log.isDebugEnabled) log.debug(s"=== [Leader] deny $request ===")
59+
if (log.isDebugEnabled) log.debug("=== [Leader] deny {} ===", request)
6060
if (request.term.isNewerThan(currentData.currentTerm)) {
6161
cancelHeartbeatTimeoutTimer()
6262
applyDomainEvent(DetectedNewTerm(request.term)) { _ =>
@@ -88,7 +88,7 @@ private[raft] trait Leader { this: RaftActor =>
8888
case appendEntries: AppendEntries if appendEntries.term.isNewerThan(currentData.currentTerm) =>
8989
if (currentData.hasMatchLogEntry(appendEntries.prevLogIndex, appendEntries.prevLogTerm)) {
9090
cancelHeartbeatTimeoutTimer()
91-
if (log.isDebugEnabled) log.debug(s"=== [Leader] append $appendEntries ===")
91+
if (log.isDebugEnabled) log.debug("=== [Leader] append {} ===", appendEntries)
9292
applyDomainEvent(AppendedEntries(appendEntries.term, appendEntries.entries, appendEntries.prevLogIndex)) {
9393
domainEvent =>
9494
applyDomainEvent(FollowedLeaderCommit(appendEntries.leader, appendEntries.leaderCommit)) { _ =>
@@ -101,7 +101,7 @@ private[raft] trait Leader { this: RaftActor =>
101101
}
102102
}
103103
} else { // prevLogIndex と prevLogTerm がマッチするエントリが無かった
104-
if (log.isDebugEnabled) log.debug(s"=== [Leader] could not append $appendEntries ===")
104+
if (log.isDebugEnabled) log.debug("=== [Leader] could not append {} ===", appendEntries)
105105
cancelHeartbeatTimeoutTimer()
106106
applyDomainEvent(DetectedNewTerm(appendEntries.term)) { domainEvent =>
107107
applyDomainEvent(DetectedLeaderMember(appendEntries.leader)) { _ =>
@@ -266,7 +266,7 @@ private[raft] trait Leader { this: RaftActor =>
266266
),
267267
)
268268
}
269-
if (log.isDebugEnabled) log.debug(s"=== [Leader] publish ${messages.mkString(",")} to $memberIndex ===")
269+
if (log.isDebugEnabled) log.debug("=== [Leader] publish {} to {} ===", messages.mkString(","), memberIndex)
270270
messages.foreach(region ! ReplicationRegion.DeliverTo(memberIndex, _))
271271
}
272272
}

src/main/scala/lerna/akka/entityreplication/raft/RaftActor.scala

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,8 @@ private[raft] class RaftActor(
231231
})
232232
entries.foreach {
233233
case (logEntry, Some(client)) =>
234-
if (log.isDebugEnabled) log.debug(s"=== [Leader] committed $logEntry and will notify it to $client ===")
234+
if (log.isDebugEnabled)
235+
log.debug("=== [Leader] committed {} and will notify it to {} ===", logEntry, client)
235236
client.ref.tell(
236237
ReplicationSucceeded(logEntry.event.event, logEntry.index, client.instanceId),
237238
client.originSender.getOrElse(ActorRef.noSender),
@@ -310,7 +311,7 @@ private[raft] class RaftActor(
310311
}
311312

312313
def suspendEntity(entityId: NormalizedEntityId, stopMessage: Any): Unit = {
313-
if (log.isDebugEnabled) log.debug(s"=== [$currentState] suspend entity '$entityId' with $stopMessage ===")
314+
if (log.isDebugEnabled) log.debug("=== [{}] suspend entity '{}' with {} ===", currentState, entityId, stopMessage)
314315
replicationActor(entityId) ! stopMessage
315316
}
316317

@@ -335,7 +336,7 @@ private[raft] class RaftActor(
335336
def resetElectionTimeoutTimer(): Unit = {
336337
cancelElectionTimeoutTimer()
337338
val timeout = settings.randomizedElectionTimeout()
338-
if (log.isDebugEnabled) log.debug(s"=== [$currentState] election-timeout after ${timeout.toMillis} ms ===")
339+
if (log.isDebugEnabled) log.debug("=== [{}] election-timeout after {} ms ===", currentState, timeout.toMillis)
339340
electionTimeoutTimer = Some(context.system.scheduler.scheduleOnce(timeout, self, ElectionTimeout))
340341
}
341342

@@ -348,7 +349,7 @@ private[raft] class RaftActor(
348349
def resetHeartbeatTimeoutTimer(): Unit = {
349350
cancelHeartbeatTimeoutTimer()
350351
val timeout = settings.heartbeatInterval
351-
if (log.isDebugEnabled) log.debug(s"=== [Leader] Heartbeat after ${settings.heartbeatInterval.toMillis} ms ===")
352+
if (log.isDebugEnabled) log.debug("=== [Leader] Heartbeat after {} ms ===", settings.heartbeatInterval.toMillis)
352353
heartbeatTimeoutTimer = Some(context.system.scheduler.scheduleOnce(timeout, self, HeartbeatTimeout))
353354
}
354355

@@ -365,19 +366,19 @@ private[raft] class RaftActor(
365366
}
366367

367368
def broadcast(message: Any): Unit = {
368-
if (log.isDebugEnabled) log.debug(s"=== [$currentState] broadcast $message ===")
369+
if (log.isDebugEnabled) log.debug("=== [{}] broadcast {} ===", currentState, message)
369370
region ! ReplicationRegion.Broadcast(message)
370371
}
371372

372373
def applyToReplicationActor(logEntry: LogEntry): Unit =
373374
logEntry.event match {
374375
case EntityEvent(_, NoOp) => // NoOp は replicationActor には関係ないので転送しない
375376
case EntityEvent(Some(entityId), event) =>
376-
if (log.isDebugEnabled) log.debug(s"=== [$currentState] applying $event to ReplicationActor ===")
377+
if (log.isDebugEnabled) log.debug("=== [{}] applying {} to ReplicationActor ===", currentState, event)
377378
replicationActor(entityId) ! Replica(logEntry)
378379
case EntityEvent(None, event) =>
379380
if (log.isWarningEnabled)
380-
log.warning(s"=== [$currentState] $event was not applied, because it is not assigned any entity ===")
381+
log.warning("=== [{}] {} was not applied, because it is not assigned any entity ===", currentState, event)
381382
}
382383

383384
def handleSnapshotTick(): Unit = {

src/main/scala/lerna/akka/entityreplication/raft/RaftActorBase.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,14 @@ private[raft] trait RaftActorBase extends PersistentActor with ActorLogging {
6262
if (persistingTimeMillis > settings.electionTimeoutMin.toMillis) {
6363
if (log.isWarningEnabled)
6464
log.warning(
65-
s"[{}] persisting time ({} ms) is grater than minimum of election-timeout ({} ms)",
65+
"[{}] persisting time ({} ms) is grater than minimum of election-timeout ({} ms)",
6666
currentState,
6767
persistingTimeMillis,
6868
electionTimeoutMinMillis,
6969
)
7070
} else {
71-
if (log.isDebugEnabled) log.debug(s"=== [$currentState] persisting time: $persistingTimeMillis ms ===")
71+
if (log.isDebugEnabled)
72+
log.debug("=== [{}] persisting time: {} ms ===", currentState, persistingTimeMillis)
7273
}
7374
_currentData = updateState(event)
7475
f(domainEvent)

src/main/scala/lerna/akka/entityreplication/raft/snapshot/SnapshotStore.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ private[entityreplication] class SnapshotStore(
8787
case cmd: SaveSnapshot =>
8888
if (log.isWarningEnabled)
8989
log.warning(
90-
s"Saving snapshot for an entity (${cmd.entityId}) currently. Consider to increase log-size-threshold or log-size-check-interval.",
90+
"Saving snapshot for an entity ({}) currently. Consider to increase log-size-threshold or log-size-check-interval.",
91+
cmd.entityId,
9192
)
9293
case FetchSnapshot(_, replyTo) =>
9394
prevSnapshot.foreach { s =>

src/main/scala/lerna/akka/entityreplication/raft/snapshot/sync/SnapshotSyncManager.scala

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,9 @@ private[entityreplication] class SnapshotSyncManager(
182182
)
183183
if (log.isInfoEnabled)
184184
log.info(
185-
"Snapshot synchronization already completed: " +
186-
s"(typeName: $typeName, memberIndex: $srcMemberIndex, snapshotLastLogTerm: ${srcLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $srcLatestSnapshotLastLogIndex)" +
187-
s" -> (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
185+
"Snapshot synchronization already completed: {} -> {}",
186+
s"(typeName: $typeName, memberIndex: $srcMemberIndex, snapshotLastLogTerm: ${srcLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $srcLatestSnapshotLastLogIndex)",
187+
s"(typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
188188
)
189189
context.stop(self)
190190

@@ -207,9 +207,9 @@ private[entityreplication] class SnapshotSyncManager(
207207
context.become(synchronizing(replyTo, dstLatestSnapshotLastLogTerm, dstLatestSnapshotLastLogIndex))
208208
if (log.isInfoEnabled)
209209
log.info(
210-
"Snapshot synchronization started: " +
211-
s"(typeName: $typeName, memberIndex: $srcMemberIndex, snapshotLastLogTerm: ${srcLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $srcLatestSnapshotLastLogIndex)" +
212-
s" -> (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
210+
"Snapshot synchronization started: {} -> {}",
211+
s"(typeName: $typeName, memberIndex: $srcMemberIndex, snapshotLastLogTerm: ${srcLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $srcLatestSnapshotLastLogIndex)",
212+
s"(typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
213213
)
214214

215215
case _: akka.persistence.SaveSnapshotSuccess =>
@@ -241,19 +241,19 @@ private[entityreplication] class SnapshotSyncManager(
241241
)
242242
if (log.isInfoEnabled)
243243
log.info(
244-
"Snapshot synchronization completed: " +
245-
s"(typeName: $typeName, memberIndex: $srcMemberIndex)" +
246-
s" -> (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
244+
"Snapshot synchronization completed: {} -> {}",
245+
s"(typeName: $typeName, memberIndex: $srcMemberIndex)",
246+
s"(typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
247247
)
248248
}
249249
case _: SyncIncomplete =>
250250
this.killSwitch = None
251251
replyTo ! SyncSnapshotFailed()
252252
if (log.isInfoEnabled)
253253
log.info(
254-
"Snapshot synchronization is incomplete: " +
255-
s"(typeName: $typeName, memberIndex: $srcMemberIndex)" +
256-
s" -> (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
254+
"Snapshot synchronization is incomplete: {} -> {}",
255+
s"(typeName: $typeName, memberIndex: $srcMemberIndex)",
256+
s"(typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
257257
)
258258
context.stop(self)
259259
}
@@ -263,10 +263,10 @@ private[entityreplication] class SnapshotSyncManager(
263263
replyTo ! SyncSnapshotFailed()
264264
if (log.isWarningEnabled)
265265
log.warning(
266-
"Snapshot synchronization aborted: " +
267-
s"(typeName: $typeName, memberIndex: $srcMemberIndex)" +
268-
s" -> (typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)" +
269-
s" cause: $e",
266+
"Snapshot synchronization aborted: {} -> {} cause: {}",
267+
s"(typeName: $typeName, memberIndex: $srcMemberIndex)",
268+
s"(typeName: $typeName, memberIndex: $dstMemberIndex, snapshotLastLogTerm: ${dstLatestSnapshotLastLogTerm.term}, snapshotLastLogIndex: $dstLatestSnapshotLastLogIndex)",
269+
e,
270270
)
271271
context.stop(self)
272272

0 commit comments

Comments
 (0)