diff --git a/zetaclient/chains/base/observer.go b/zetaclient/chains/base/observer.go
index fe6238d731..d0b71f4a3c 100644
--- a/zetaclient/chains/base/observer.go
+++ b/zetaclient/chains/base/observer.go
@@ -129,7 +129,7 @@ func NewObserver(
 
 // Stop notifies all goroutines to stop and closes the database.
 func (ob *Observer) Stop() {
-	ob.logger.Chain.Info().Msgf("observer is stopping for chain %d", ob.Chain().ChainId)
+	ob.logger.Chain.Info().Msgf("Observer is stopping for chain %d", ob.Chain().ChainId)
 	close(ob.stop)
 
 	// close database
@@ -140,7 +140,7 @@ func (ob *Observer) Stop() {
 		}
 		ob.db = nil
 	}
-	ob.Logger().Chain.Info().Msgf("observer stopped for chain %d", ob.Chain().ChainId)
+	ob.Logger().Chain.Info().Msgf("Observer stopped for chain %d", ob.Chain().ChainId)
 }
 
 // Chain returns the chain for the observer.
diff --git a/zetaclient/chains/bitcoin/observer/observer.go b/zetaclient/chains/bitcoin/observer/observer.go
index b245ab3d75..d40a4701ef 100644
--- a/zetaclient/chains/bitcoin/observer/observer.go
+++ b/zetaclient/chains/bitcoin/observer/observer.go
@@ -212,7 +212,7 @@ func (ob *Observer) Start() {
 // TODO(revamp): move ticker related functions to a specific file
 // TODO(revamp): move inner logic in a separate function
 func (ob *Observer) WatchRPCStatus() {
-	ob.logger.Chain.Info().Msgf("RPCStatus is starting")
+	ob.logger.Chain.Info().Msgf("WatchRPCStatus started for chain %d", ob.Chain().ChainId)
 	ticker := time.NewTicker(60 * time.Second)
 
 	for {
@@ -267,6 +267,7 @@ func (ob *Observer) WatchRPCStatus() {
 				Msgf("[OK] RPC status check: latest block number %d, timestamp %s (%.fs ago), tss addr %s, #utxos: %d", bn, blockTime, elapsedSeconds, tssAddr, len(res))
 
 		case <-ob.StopChannel():
+			ob.Logger().Chain.Info().Msgf("WatchRPCStatus stopped for chain %d", ob.Chain().ChainId)
 			return
 		}
 	}
diff --git a/zetaclient/chains/evm/observer/outbound.go b/zetaclient/chains/evm/observer/outbound.go
index 2b04bbf43f..c7e3ddf450 100644
--- a/zetaclient/chains/evm/observer/outbound.go
+++ b/zetaclient/chains/evm/observer/outbound.go
@@ -89,7 +89,7 @@ func (ob *Observer) WatchOutbound() {
 			}
 			ticker.UpdateInterval(ob.GetChainParams().OutboundTicker, ob.Logger().Outbound)
 		case <-ob.StopChannel():
-			ob.Logger().Outbound.Info().Msgf("WatchOutbound: stopped for chain %d", ob.Chain().ChainId)
+			ob.Logger().Outbound.Info().Msgf("WatchOutbound stopped for chain %d", ob.Chain().ChainId)
 			return
 		}
 	}
diff --git a/zetaclient/orchestrator/orchestrator.go b/zetaclient/orchestrator/orchestrator.go
index 9f583902b5..afade0a160 100644
--- a/zetaclient/orchestrator/orchestrator.go
+++ b/zetaclient/orchestrator/orchestrator.go
@@ -153,7 +153,7 @@ func (oc *Orchestrator) Start() {
 
 // AwaitStopSignals waits for stop signals
 func (oc *Orchestrator) AwaitStopSignals() {
-	oc.logger.Std.Info().Msgf("orchestrator awaiting the os.Interrupt, syscall.SIGTERM signals...")
+	oc.logger.Std.Info().Msgf("Orchestrator awaiting the os.Interrupt, syscall.SIGTERM signals...")
 
 	// subscribe to stop signals
 	ch := make(chan os.Signal, 1)
@@ -162,7 +162,7 @@ func (oc *Orchestrator) AwaitStopSignals() {
 
 	// stop orchestrator
 	oc.Stop()
-	oc.logger.Std.Info().Msgf("orchestrator stopped on signal: %s", sig)
+	oc.logger.Std.Info().Msgf("Orchestrator stopped on signal: %s", sig)
 }
 
 // Stop notifies all zetaclient goroutines to stop