From f7df386856e536753ba15347423dcdf6210255a5 Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Sun, 8 Oct 2017 17:53:10 +0200
Subject: [PATCH] [fix] #1144 Too many redundant logs

---
 app/lib/streams/multicaster.ts                            | 8 +++-----
 app/modules/bma/lib/controllers/AbstractController.ts     | 8 ++++++--
 app/modules/bma/lib/network.ts                            | 2 +-
 .../ws2p/lib/interface/WS2PServerMessageHandler.ts        | 8 +++++++-
 app/service/PeeringService.ts                             | 2 --
 5 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/app/lib/streams/multicaster.ts b/app/lib/streams/multicaster.ts
index 860a04a00..afb629f11 100644
--- a/app/lib/streams/multicaster.ts
+++ b/app/lib/streams/multicaster.ts
@@ -171,17 +171,15 @@ export class Multicaster extends stream.Transform {
       try {
         if(!params.withIsolation || !(this.conf && this.conf.isolate)) {
           let theDoc = params.transform ? params.transform(doc) : doc;
-          logger.debug('--> new %s to be sent to %s peer(s)', params.type, peers.length);
           if (params.getDocID) {
-            logger.info('POST %s %s', params.type, params.getDocID(theDoc));
+            logger.info('POST %s %s to %s peers', params.type, params.getDocID(theDoc), peers.length)
           } else {
-            logger.info('POST %s', params.type);
+            logger.info('POST %s to %s peers', params.type, peers.length);
           }
           // Parallel treatment for superfast propagation
           await Promise.all(peers.map(async (p) => {
             let peer = PeerDTO.fromJSONObject(p)
             const namedURL = peer.getNamedURL();
-            logger.debug(' `--> to peer %s [%s] (%s)', peer.keyID(), peer.member ? 'member' : '------', namedURL);
             try {
               await this.post(peer, params.uri, params.getObj(theDoc))
             } catch (e) {
@@ -190,7 +188,7 @@ export class Multicaster extends stream.Transform {
                   const json = JSON.parse(e.body);
                   await params.onError(json, doc, namedURL)
                 } catch (ex) {
-                  logger.warn('Could not reach %s', namedURL);
+                  logger.warn('Could not reach %s, reason: %s', namedURL, (ex && ex.message || ex))
                 }
               }
             }
diff --git a/app/modules/bma/lib/controllers/AbstractController.ts b/app/modules/bma/lib/controllers/AbstractController.ts
index 8ebcb3f40..f35c5469a 100644
--- a/app/modules/bma/lib/controllers/AbstractController.ts
+++ b/app/modules/bma/lib/controllers/AbstractController.ts
@@ -43,8 +43,12 @@ export abstract class AbstractController {
     } catch (e) {
       const event = CommonConstants.DocumentError
       this.server.emit(event, e)
-      this.logger.error(e);
-      throw e;
+      if (e !== "Block already known" && (!e || !e.uerr || (
+        e.uerr.ucode !== CommonConstants.ERRORS.PEER_DOCUMENT_ALREADY_KNOWN.uerr.ucode
+        && e.uerr.ucode !== CommonConstants.ERRORS.DOCUMENT_BEING_TREATED.uerr.ucode))) {
+        this.logger.error(e)
+      }
+      throw e
     }
   }
 }
\ No newline at end of file
diff --git a/app/modules/bma/lib/network.ts b/app/modules/bma/lib/network.ts
index c142863f2..33b994afe 100644
--- a/app/modules/bma/lib/network.ts
+++ b/app/modules/bma/lib/network.ts
@@ -243,7 +243,7 @@ function getResultingError(e:any, logger:any) {
   let error = BMAConstants.ERRORS.UNKNOWN;
   if (e) {
     // Print eventual stack trace
-    typeof e == 'string' && logger && logger.error(e);
+    typeof e == 'string' && e !== "Block already known" && logger && logger.error(e);
     e.stack && logger && logger.error(e.stack);
     e.message && logger && logger.warn(e.message);
     // BusinessException
diff --git a/app/modules/ws2p/lib/interface/WS2PServerMessageHandler.ts b/app/modules/ws2p/lib/interface/WS2PServerMessageHandler.ts
index 4033d2327..1f666afc5 100644
--- a/app/modules/ws2p/lib/interface/WS2PServerMessageHandler.ts
+++ b/app/modules/ws2p/lib/interface/WS2PServerMessageHandler.ts
@@ -13,6 +13,7 @@ import {WS2P_REQ} from "../WS2PRequester"
 import {WS2PCluster} from "../WS2PCluster"
 import {WS2PConnection} from "../WS2PConnection"
 import {WS2PConstants} from "../constants"
+import {CommonConstants} from "../../../../lib/common-libs/constants"
 
 export enum WS2P_REQERROR {
   UNKNOWN_REQUEST
@@ -101,7 +102,12 @@ export class WS2PServerMessageHandler implements WS2PMessageHandler {
           delete this.errors[documentHash]
         }, 1000 * WS2PConstants.ERROR_RECALL_DURATION_IN_SECONDS)
       }
-      this.server.logger.warn(e)
+      if (e !== "Block already known"
+        && (!e.uerr
+            || !(e.uerr.ucode == CommonConstants.ERRORS.DOCUMENT_BEING_TREATED.uerr.ucode
+                || e.uerr.ucode == CommonConstants.ERRORS.PEER_DOCUMENT_ALREADY_KNOWN.uerr.ucode))) {
+        this.server.logger.warn(e)
+      }
     }
   }
 
diff --git a/app/service/PeeringService.ts b/app/service/PeeringService.ts
index 0b6528cc3..7b20d32eb 100644
--- a/app/service/PeeringService.ts
+++ b/app/service/PeeringService.ts
@@ -71,7 +71,6 @@ export class PeeringService {
   };
 
   submitP(peering:DBPeer, eraseIfAlreadyRecorded = false, cautious = true): Promise<PeerDTO> {
-    this.logger.info('⬇ PEER %s', peering.pubkey.substr(0, 8))
     // Force usage of local currency name, do not accept other currencies documents
     peering.currency = this.conf.currency || peering.currency;
     let thePeerDTO = PeerDTO.fromJSONObject(peering)
@@ -164,7 +163,6 @@ export class PeeringService {
         }
         return PeerDTO.fromDBPeer(savedPeer)
       } catch (e) {
-        this.logger.info('✘ PEER %s', peering.pubkey.substr(0, 8))
         throw e
       }
     })
-- 
GitLab