mirror of
https://github.com/ACINQ/eclair.git
synced 2025-03-13 19:37:35 +01:00
using logback's MDC to display channelId in logs
and set version to 0.2-spv-c
This commit is contained in:
parent
eded5170aa
commit
b4b1d75c53
8 changed files with 40 additions and 7 deletions
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>fr.acinq.eclair</groupId>
|
||||
<artifactId>eclair_2.11</artifactId>
|
||||
<version>0.2-spv-b</version>
|
||||
<version>0.2-spv-c</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>eclair-core_2.11</artifactId>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package fr.acinq.eclair
|
||||
|
||||
import akka.actor.{Actor, FSM}
|
||||
import akka.event.{DiagnosticLoggingAdapter, LoggingAdapter}
|
||||
|
||||
/**
|
||||
* A version of [[akka.actor.DiagnosticActorLogging]] compatible with an FSM
|
||||
* See https://groups.google.com/forum/#!topic/akka-user/0CxR8CImr4Q
|
||||
*/
|
||||
trait FSMDiagnosticActorLogging[S, D] extends FSM[S, D] {
|
||||
import akka.event.Logging._
|
||||
val diagLog: DiagnosticLoggingAdapter = akka.event.Logging(this)
|
||||
def mdc(currentMessage: Any): MDC = emptyMDC
|
||||
|
||||
override def log: LoggingAdapter = diagLog
|
||||
|
||||
override def aroundReceive(receive: Actor.Receive, msg: Any): Unit = try {
|
||||
diagLog.mdc(mdc(msg))
|
||||
super.aroundReceive(receive, msg)
|
||||
} finally {
|
||||
diagLog.clearMDC()
|
||||
}
|
||||
}
|
|
@ -1,8 +1,13 @@
|
|||
package fr.acinq.eclair.channel
|
||||
|
||||
|
||||
import akka.actor.{ActorRef, FSM, LoggingFSM, OneForOneStrategy, Props, Status, SupervisorStrategy}
|
||||
import akka.pattern.pipe
|
||||
import fr.acinq.bitcoin.Crypto.PublicKey
|
||||
|
||||
import akka.actor.{ActorRef, DiagnosticActorLogging, FSM, LoggingFSM, OneForOneStrategy, Props, Status, SupervisorStrategy}
|
||||
import akka.event.Logging.MDC
|
||||
import fr.acinq.bitcoin.Crypto.{PrivateKey, PublicKey}
|
||||
import fr.acinq.bitcoin._
|
||||
import fr.acinq.eclair._
|
||||
import fr.acinq.eclair.blockchain._
|
||||
|
@ -28,7 +33,7 @@ object Channel {
|
|||
def props(nodeParams: NodeParams, wallet: EclairWallet, remoteNodeId: PublicKey, blockchain: ActorRef, router: ActorRef, relayer: ActorRef) = Props(new Channel(nodeParams, wallet, remoteNodeId, blockchain, router, relayer))
|
||||
}
|
||||
|
||||
class Channel(val nodeParams: NodeParams, wallet: EclairWallet, remoteNodeId: PublicKey, blockchain: ActorRef, router: ActorRef, relayer: ActorRef)(implicit ec: ExecutionContext = ExecutionContext.Implicits.global) extends LoggingFSM[State, Data] {
|
||||
class Channel(val nodeParams: NodeParams, wallet: EclairWallet, remoteNodeId: PublicKey, blockchain: ActorRef, router: ActorRef, relayer: ActorRef)(implicit ec: ExecutionContext = ExecutionContext.Implicits.global) extends LoggingFSM[State, Data] with FSMDiagnosticActorLogging[State, Data] {
|
||||
|
||||
val forwarder = context.actorOf(Props(new Forwarder(nodeParams)), "forwarder")
|
||||
|
||||
|
@ -1433,6 +1438,11 @@ class Channel(val nodeParams: NodeParams, wallet: EclairWallet, remoteNodeId: Pu
|
|||
|
||||
}
|
||||
|
||||
override def mdc(currentMessage: Any): MDC = {
|
||||
val id = Helpers.getChannelId(stateData)
|
||||
Map("channelId" -> id)
|
||||
}
|
||||
|
||||
// we let the peer decide what to do
|
||||
override val supervisorStrategy = OneForOneStrategy(loggingEnabled = true) { case _ => SupervisorStrategy.Escalate }
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>fr.acinq.eclair</groupId>
|
||||
<artifactId>eclair_2.11</artifactId>
|
||||
<version>0.2-spv-b</version>
|
||||
<version>0.2-spv-c</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>eclair-node-javafx_2.11</artifactId>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<parent>
|
||||
<groupId>fr.acinq.eclair</groupId>
|
||||
<artifactId>eclair_2.11</artifactId>
|
||||
<version>0.2-spv-b</version>
|
||||
<version>0.2-spv-c</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>eclair-node_2.11</artifactId>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<target>System.out</target>
|
||||
<withJansi>false</withJansi>
|
||||
<encoder>
|
||||
<pattern>%yellow(${HOSTNAME} %d) %highlight(%-5level) %logger{36} %X{akkaSource} - %blue(%msg) %ex{12}%n
|
||||
<pattern>%yellow(${HOSTNAME} %d) %highlight(%-5level) %logger{36} channelId=%X{channelId} - %blue(%msg) %ex{12}%n
|
||||
</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
|
|
@ -15,7 +15,7 @@ object LogSetup {
|
|||
def logTo(datadir: File) = {
|
||||
val lc = LoggerFactory.getILoggerFactory().asInstanceOf[LoggerContext]
|
||||
val ple = new PatternLayoutEncoder()
|
||||
ple.setPattern("%d %-5level %logger{36} %X{akkaSource} - %msg%ex{24}%n")
|
||||
ple.setPattern("%d %-5level %logger{36} %X{akkaSource} %X{channelId} - %msg%ex{24}%n")
|
||||
ple.setContext(lc)
|
||||
ple.start()
|
||||
val fileAppender = new FileAppender[ILoggingEvent]()
|
||||
|
|
2
pom.xml
2
pom.xml
|
@ -4,7 +4,7 @@
|
|||
|
||||
<groupId>fr.acinq.eclair</groupId>
|
||||
<artifactId>eclair_2.11</artifactId>
|
||||
<version>0.2-spv-b</version>
|
||||
<version>0.2-spv-c</version>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<modules>
|
||||
|
|
Loading…
Add table
Reference in a new issue