Skip to content

Commit 90a9fdc

Browse files
committed
add a .getPrettySimpleName helper
It class `.getSimpleName` and strips the '$' character of object classes. Also, we don't need the java 8 workaround for `.getSimpleName`
1 parent f11f922 commit 90a9fdc

31 files changed

Lines changed: 94 additions & 76 deletions

eclair-core/src/main/scala/fr/acinq/eclair/NodeParams.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ object NodeParams extends Logging {
389389
require(pluginFeatureSet.size == pluginMessageParams.size, "Duplicate plugin feature bits found")
390390

391391
val interceptOpenChannelPlugins = pluginParams.collect { case p: InterceptOpenChannelPlugin => p }
392-
require(interceptOpenChannelPlugins.size <= 1, s"At most one plugin is allowed to intercept channel open messages, but multiple such plugins were registered: ${interceptOpenChannelPlugins.map(_.getClass.getSimpleName).mkString(", ")}. Disable conflicting plugins and restart eclair.")
392+
require(interceptOpenChannelPlugins.size <= 1, s"At most one plugin is allowed to intercept channel open messages, but multiple such plugins were registered: ${interceptOpenChannelPlugins.map(_.getClass.getPrettySimpleName).mkString(", ")}. Disable conflicting plugins and restart eclair.")
393393

394394
val coreAndPluginFeatures: Features[Feature] = features.copy(unknown = features.unknown ++ pluginMessageParams.map(_.pluginFeature))
395395

eclair-core/src/main/scala/fr/acinq/eclair/channel/ChannelExceptions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ case class RbfAttemptAborted (override val channelId: Byte
7777
case class SpliceAttemptAborted (override val channelId: ByteVector32) extends ChannelException(channelId, "splice attempt aborted")
7878
case class SpliceAttemptTimedOut (override val channelId: ByteVector32) extends ChannelException(channelId, "splice attempt took too long, disconnecting")
7979
case class DualFundingAborted (override val channelId: ByteVector32) extends ChannelException(channelId, "dual funding aborted")
80-
case class UnexpectedInteractiveTxMessage (override val channelId: ByteVector32, msg: InteractiveTxMessage) extends ChannelException(channelId, s"unexpected interactive-tx message (${msg.getClass.getSimpleName})")
80+
case class UnexpectedInteractiveTxMessage (override val channelId: ByteVector32, msg: InteractiveTxMessage) extends ChannelException(channelId, s"unexpected interactive-tx message (${msg.getClass.getPrettySimpleName})")
8181
case class UnexpectedFundingSignatures (override val channelId: ByteVector32) extends ChannelException(channelId, "unexpected funding signatures (tx_signatures)")
8282
case class InvalidFundingFeerate (override val channelId: ByteVector32, targetFeerate: FeeratePerKw, actualFeerate: FeeratePerKw) extends ChannelException(channelId, s"invalid funding feerate: target=$targetFeerate actual=$actualFeerate")
8383
case class InvalidFundingSignature (override val channelId: ByteVector32, txId_opt: Option[TxId]) extends ChannelException(channelId, s"invalid funding signature: txId=${txId_opt.map(_.toString()).getOrElse("n/a")}")

eclair-core/src/main/scala/fr/acinq/eclair/channel/Commitments.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1182,7 +1182,7 @@ case class Commitments(params: ChannelParams,
11821182
def updateLocalFundingStatus(fundingTxId: TxId, status: LocalFundingStatus)(implicit log: LoggingAdapter): Either[Commitments, (Commitments, Commitment)] =
11831183
updateFundingStatus(fundingTxId, _ => {
11841184
case c if c.fundingTxId == fundingTxId =>
1185-
log.info(s"setting localFundingStatus=${status.getClass.getSimpleName} for fundingTxId=${c.fundingTxId} fundingTxIndex=${c.fundingTxIndex}")
1185+
log.info(s"setting localFundingStatus=${status.getClass.getPrettySimpleName} for fundingTxId=${c.fundingTxId} fundingTxIndex=${c.fundingTxIndex}")
11861186
c.copy(localFundingStatus = status)
11871187
case c => c
11881188
})
@@ -1191,7 +1191,7 @@ case class Commitments(params: ChannelParams,
11911191
updateFundingStatus(fundingTxId, fundingTxIndex => {
11921192
// all funding older than this one are considered locked
11931193
case c if c.fundingTxId == fundingTxId || c.fundingTxIndex < fundingTxIndex =>
1194-
log.info(s"setting remoteFundingStatus=${RemoteFundingStatus.Locked.getClass.getSimpleName} for fundingTxId=${c.fundingTxId} fundingTxIndex=${c.fundingTxIndex}")
1194+
log.info(s"setting remoteFundingStatus=${RemoteFundingStatus.Locked.getClass.getPrettySimpleName} for fundingTxId=${c.fundingTxId} fundingTxIndex=${c.fundingTxIndex}")
11951195
c.copy(remoteFundingStatus = RemoteFundingStatus.Locked)
11961196
case c => c
11971197
})

eclair-core/src/main/scala/fr/acinq/eclair/channel/fsm/Channel.scala

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
389389

390390
when(NORMAL)(handleExceptions {
391391
case Event(c: ForbiddenCommandDuringQuiescence, d: DATA_NORMAL) if d.spliceStatus.isInstanceOf[QuiescenceNegotiation] =>
392-
val error = ForbiddenDuringQuiescence(d.channelId, c.getClass.getSimpleName)
392+
val error = ForbiddenDuringQuiescence(d.channelId, c.getClass.getPrettySimpleName)
393393
c match {
394394
case c: CMD_ADD_HTLC => handleAddHtlcCommandError(c, error, Some(d.channelUpdate))
395395
// Htlc settlement commands are ignored and will be replayed when not quiescent.
@@ -400,7 +400,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
400400
}
401401

402402
case Event(c: ForbiddenCommandDuringSplice, d: DATA_NORMAL) if d.spliceStatus.isInstanceOf[QuiescentSpliceStatus] =>
403-
val error = ForbiddenDuringSplice(d.channelId, c.getClass.getSimpleName)
403+
val error = ForbiddenDuringSplice(d.channelId, c.getClass.getPrettySimpleName)
404404
c match {
405405
case c: CMD_ADD_HTLC => handleAddHtlcCommandError(c, error, Some(d.channelUpdate))
406406
// Htlc settlement commands are ignored and will be replayed when not quiescent.
@@ -411,8 +411,8 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
411411
}
412412

413413
case Event(msg: ForbiddenMessageDuringSplice, d: DATA_NORMAL) if d.spliceStatus.isInstanceOf[QuiescentSpliceStatus] =>
414-
log.warning("received forbidden message {} during splicing with status {}", msg.getClass.getSimpleName, d.spliceStatus.getClass.getSimpleName)
415-
val error = ForbiddenDuringSplice(d.channelId, msg.getClass.getSimpleName)
414+
log.warning("received forbidden message {} during splicing with status {}", msg.getClass.getPrettySimpleName, d.spliceStatus.getClass.getPrettySimpleName)
415+
val error = ForbiddenDuringSplice(d.channelId, msg.getClass.getPrettySimpleName)
416416
// We forward preimages as soon as possible to the upstream channel because it allows us to pull funds.
417417
msg match {
418418
case fulfill: UpdateFulfillHtlc => d.commitments.receiveFulfill(fulfill) match {
@@ -1050,7 +1050,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
10501050
txBuilder ! InteractiveTxBuilder.ReceiveMessage(msg)
10511051
stay()
10521052
case _ =>
1053-
log.info("ignoring unexpected interactive-tx message: {}", msg.getClass.getSimpleName)
1053+
log.info("ignoring unexpected interactive-tx message: {}", msg.getClass.getPrettySimpleName)
10541054
stay() sending Warning(d.channelId, UnexpectedInteractiveTxMessage(d.channelId, msg).getMessage)
10551055
}
10561056

@@ -1094,7 +1094,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
10941094
if (sessionId == currentSessionId) {
10951095
stay() sending msg
10961096
} else {
1097-
log.info("ignoring outgoing interactive-tx message {} from previous session", msg.getClass.getSimpleName)
1097+
log.info("ignoring outgoing interactive-tx message {} from previous session", msg.getClass.getPrettySimpleName)
10981098
stay()
10991099
}
11001100
case InteractiveTxBuilder.Succeeded(signingSession, commitSig, liquidityPurchase_opt) =>
@@ -1113,7 +1113,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
11131113
}
11141114
case _ =>
11151115
// This can happen if we received a tx_abort right before receiving the interactive-tx result.
1116-
log.warning("ignoring interactive-tx result with spliceStatus={}", d.spliceStatus.getClass.getSimpleName)
1116+
log.warning("ignoring interactive-tx result with spliceStatus={}", d.spliceStatus.getClass.getPrettySimpleName)
11171117
stay()
11181118
}
11191119

@@ -2625,15 +2625,15 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
26252625
}
26262626

26272627
private def handleAddHtlcCommandError(c: CMD_ADD_HTLC, cause: ChannelException, channelUpdate: Option[ChannelUpdate]) = {
2628-
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getSimpleName} in state=$stateName")
2628+
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getPrettySimpleName} in state=$stateName")
26292629
val replyTo = if (c.replyTo == ActorRef.noSender) sender() else c.replyTo
26302630
replyTo ! RES_ADD_FAILED(c, cause, channelUpdate)
26312631
context.system.eventStream.publish(ChannelErrorOccurred(self, stateData.channelId, remoteNodeId, LocalError(cause), isFatal = false))
26322632
stay()
26332633
}
26342634

26352635
private def handleCommandError(cause: ChannelException, c: channel.Command) = {
2636-
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getSimpleName} in state=$stateName")
2636+
log.warning(s"${cause.getMessage} while processing cmd=${c.getClass.getPrettySimpleName} in state=$stateName")
26372637
val replyTo_opt = c match {
26382638
case hasOptionalReplyTo: HasOptionalReplyToCommand => hasOptionalReplyTo.replyTo_opt
26392639
case hasReplyTo: HasReplyToCommand => if (hasReplyTo.replyTo == ActorRef.noSender) Some(sender()) else Some(hasReplyTo.replyTo)
@@ -2828,7 +2828,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
28282828
log.warning("quiescence timed out with no ongoing splice, did we forget to cancel the timer?")
28292829
stay()
28302830
} else {
2831-
log.warning("quiescence timed out in state {}, closing connection", d.spliceStatus.getClass.getSimpleName)
2831+
log.warning("quiescence timed out in state {}, closing connection", d.spliceStatus.getClass.getPrettySimpleName)
28322832
context.system.scheduler.scheduleOnce(2 second, peer, Peer.Disconnect(remoteNodeId))
28332833
stay() sending Warning(d.channelId, SpliceAttemptTimedOut(d.channelId).getMessage)
28342834
}
@@ -2869,7 +2869,7 @@ class Channel(val nodeParams: NodeParams, val wallet: OnChainChannelFunder with
28692869
override val supervisorStrategy: OneForOneStrategy = OneForOneStrategy(loggingEnabled = true) { case _ => SupervisorStrategy.Escalate }
28702870

28712871
override def aroundReceive(receive: Actor.Receive, msg: Any): Unit = {
2872-
KamonExt.time(ProcessMessage.withTag("MessageType", msg.getClass.getSimpleName)) {
2872+
KamonExt.time(ProcessMessage.withTag("MessageType", msg.getClass.getPrettySimpleName)) {
28732873
super.aroundReceive(receive, msg)
28742874
}
28752875
}

eclair-core/src/main/scala/fr/acinq/eclair/channel/fsm/ChannelOpenDualFunded.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ trait ChannelOpenDualFunded extends DualFundingHandlers with ErrorHandlers {
431431
rollbackFundingAttempt(d.signingSession.fundingTx.tx, Nil)
432432
goto(CLOSED) sending TxAbort(d.channelId, DualFundingAborted(d.channelId).getMessage)
433433
case msg: InteractiveTxConstructionMessage =>
434-
log.info("received unexpected interactive-tx message: {}", msg.getClass.getSimpleName)
434+
log.info("received unexpected interactive-tx message: {}", msg.getClass.getPrettySimpleName)
435435
stay() sending Warning(d.channelId, UnexpectedInteractiveTxMessage(d.channelId, msg).getMessage)
436436
case _: TxInitRbf =>
437437
log.info("ignoring unexpected tx_init_rbf message")
@@ -631,7 +631,7 @@ trait ChannelOpenDualFunded extends DualFundingHandlers with ErrorHandlers {
631631
txBuilder ! InteractiveTxBuilder.ReceiveMessage(msg)
632632
stay()
633633
case _ =>
634-
log.info("ignoring unexpected interactive-tx message: {}", msg.getClass.getSimpleName)
634+
log.info("ignoring unexpected interactive-tx message: {}", msg.getClass.getPrettySimpleName)
635635
stay() sending Warning(d.channelId, UnexpectedInteractiveTxMessage(d.channelId, msg).getMessage)
636636
}
637637

@@ -706,7 +706,7 @@ trait ChannelOpenDualFunded extends DualFundingHandlers with ErrorHandlers {
706706
}
707707
case _ =>
708708
// This can happen if we received a tx_abort right before receiving the interactive-tx result.
709-
log.warning("ignoring interactive-tx result with rbfStatus={}", d.rbfStatus.getClass.getSimpleName)
709+
log.warning("ignoring interactive-tx result with rbfStatus={}", d.rbfStatus.getClass.getPrettySimpleName)
710710
stay()
711711
}
712712

eclair-core/src/main/scala/fr/acinq/eclair/channel/fsm/ErrorHandlers.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ package fr.acinq.eclair.channel.fsm
1919
import akka.actor.typed.scaladsl.adapter.actorRefAdapter
2020
import akka.actor.{ActorRef, FSM}
2121
import fr.acinq.bitcoin.scalacompat.{ByteVector32, OutPoint, SatoshiLong, Transaction, TxId}
22-
import fr.acinq.eclair.NotificationsLogger
22+
import fr.acinq.eclair.{NotificationsLogger, PrettySimpleClassName}
2323
import fr.acinq.eclair.NotificationsLogger.NotifyNodeOperator
2424
import fr.acinq.eclair.blockchain.bitcoind.ZmqWatcher.{RelativeDelay, WatchOutputSpent, WatchTxConfirmed}
2525
import fr.acinq.eclair.channel.Helpers.Closing
@@ -71,9 +71,9 @@ trait ErrorHandlers extends CommonHandlers {
7171
log.warning(s"force-closing channel at user request")
7272
case _ if msg.exists(_.isInstanceOf[OpenChannel]) || msg.exists(_.isInstanceOf[AcceptChannel]) =>
7373
// invalid remote channel parameters are logged as warning
74-
log.warning(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getSimpleName} in state=$stateName")
74+
log.warning(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getPrettySimpleName} in state=$stateName")
7575
case _: ChannelException =>
76-
log.error(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getSimpleName} in state=$stateName")
76+
log.error(s"${cause.getMessage} while processing msg=${msg.getOrElse("n/a").getClass.getPrettySimpleName} in state=$stateName")
7777
case _ =>
7878
// unhandled error: we dump the channel data, and print the stack trace
7979
log.error(cause, s"msg=${msg.getOrElse("n/a")} stateData=$stateData:")

eclair-core/src/main/scala/fr/acinq/eclair/crypto/TransportHandler.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import fr.acinq.eclair.crypto.ChaCha20Poly1305.ChaCha20Poly1305Error
2828
import fr.acinq.eclair.crypto.Noise._
2929
import fr.acinq.eclair.remote.EclairInternalsSerializer.RemoteTypes
3030
import fr.acinq.eclair.wire.protocol.{AnnouncementSignatures, RoutingMessage}
31-
import fr.acinq.eclair.{Diagnostics, FSMDiagnosticActorLogging, Logs, getSimpleClassName}
31+
import fr.acinq.eclair.{Diagnostics, FSMDiagnosticActorLogging, Logs, PrettySimpleClassName}
3232
import scodec.bits.ByteVector
3333
import scodec.{Attempt, Codec, DecodeResult}
3434

@@ -264,7 +264,7 @@ class TransportHandler[T: ClassTag](keyPair: KeyPair, rs: Option[ByteVector], co
264264
case Event(msg, d) =>
265265
d match {
266266
case n: NormalData[_] => log.warning(s"unhandled message $msg in state normal unackedSent=${n.unackedSent.size} unackedReceived=${n.unackedReceived.size} sendBuffer.lowPriority=${n.sendBuffer.lowPriority.size} sendBuffer.normalPriority=${n.sendBuffer.normalPriority.size}")
267-
case _ => log.warning(s"unhandled message $msg in state ${d.getClass.getSimpleName}")
267+
case _ => log.warning(s"unhandled message $msg in state ${d.getClass.getPrettySimpleName}")
268268
}
269269
stay()
270270
}
@@ -278,7 +278,7 @@ class TransportHandler[T: ClassTag](keyPair: KeyPair, rs: Option[ByteVector], co
278278
stateData match {
279279
case normal: NormalData[_] =>
280280
// NB: we deduplicate on the class name: each class will appear once but there may be many instances (less verbose and gives debug hints)
281-
log.info("stopping (unackedReceived={} unackedSent={})", normal.unackedReceived.keys.map(getSimpleClassName).toSet.mkString(","), normal.unackedSent.map(getSimpleClassName))
281+
log.info("stopping (unackedReceived={} unackedSent={})", normal.unackedReceived.keys.map(_.getClass.getPrettySimpleName).toSet.mkString(","), normal.unackedSent.map(_.getClass.getPrettySimpleName))
282282
case _ =>
283283
log.info("stopping")
284284
}

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgAuditDb.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import fr.acinq.eclair.db.Monitoring.Tags.DbBackends
2626
import fr.acinq.eclair.db._
2727
import fr.acinq.eclair.payment._
2828
import fr.acinq.eclair.transactions.Transactions.PlaceHolderPubKey
29-
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, Paginated, TimestampMilli}
29+
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, Paginated, PrettySimpleClassName, TimestampMilli}
3030
import grizzled.slf4j.Logging
3131

3232
import java.sql.{Statement, Timestamp}
@@ -302,7 +302,7 @@ class PgAuditDb(implicit ds: DataSource) extends AuditDb with Logging {
302302
inTransaction { pg =>
303303
using(pg.prepareStatement("INSERT INTO audit.channel_errors VALUES (?, ?, ?, ?, ?, ?)")) { statement =>
304304
val (errorName, errorMessage) = e.error match {
305-
case LocalError(t) => (t.getClass.getSimpleName, t.getMessage)
305+
case LocalError(t) => (t.getClass.getPrettySimpleName, t.getMessage)
306306
case RemoteError(error) => ("remote", error.toAscii)
307307
}
308308
statement.setString(1, e.channelId.toHex)

eclair-core/src/main/scala/fr/acinq/eclair/db/pg/PgPaymentsDb.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ class PgPaymentsDb(implicit ds: DataSource, lock: PgLock) extends PaymentsDb wit
111111
}
112112

113113
override def addOutgoingPayment(sent: OutgoingPayment): Unit = withMetrics("payments/add-outgoing", DbBackends.Postgres) {
114-
require(sent.status == OutgoingPaymentStatus.Pending, s"outgoing payment isn't pending (${sent.status.getClass.getSimpleName})")
114+
require(sent.status == OutgoingPaymentStatus.Pending, s"outgoing payment isn't pending (${sent.status.getClass.getPrettySimpleName})")
115115
withLock { pg =>
116116
using(pg.prepareStatement("INSERT INTO payments.sent (id, parent_id, external_id, payment_hash, payment_type, amount_msat, recipient_amount_msat, recipient_node_id, created_at, payment_request, offer_id, payer_key) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")) { statement =>
117117
statement.setString(1, sent.id.toString)

eclair-core/src/main/scala/fr/acinq/eclair/db/sqlite/SqliteAuditDb.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import fr.acinq.eclair.db.Monitoring.Tags.DbBackends
2626
import fr.acinq.eclair.db._
2727
import fr.acinq.eclair.payment._
2828
import fr.acinq.eclair.transactions.Transactions.PlaceHolderPubKey
29-
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, Paginated, TimestampMilli}
29+
import fr.acinq.eclair.{MilliSatoshi, MilliSatoshiLong, Paginated, PrettySimpleClassName, TimestampMilli}
3030
import grizzled.slf4j.Logging
3131

3232
import java.sql.{Connection, Statement}
@@ -284,7 +284,7 @@ class SqliteAuditDb(val sqlite: Connection) extends AuditDb with Logging {
284284
override def add(e: ChannelErrorOccurred): Unit = withMetrics("audit/add-channel-error", DbBackends.Sqlite) {
285285
using(sqlite.prepareStatement("INSERT INTO channel_errors VALUES (?, ?, ?, ?, ?, ?)")) { statement =>
286286
val (errorName, errorMessage) = e.error match {
287-
case LocalError(t) => (t.getClass.getSimpleName, t.getMessage)
287+
case LocalError(t) => (t.getClass.getPrettySimpleName, t.getMessage)
288288
case RemoteError(error) => ("remote", error.toAscii)
289289
}
290290
statement.setBytes(1, e.channelId.toArray)

0 commit comments

Comments
 (0)