Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. [Gelöst] Adapter mit aktiven Log Transporter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Adapter mit aktiven Log Transporter

    This topic has been deleted. Only users with topic management privileges can see it.
    • IdleBit
      IdleBit @IdleBit last edited by

      Ich habe das mal als Script umgesetzt, das würde eingleich reichen.
      Allerdings würde ich es doch am liebsten als Adapter umsetzten.

      const seq = require('seq-logging');
      const logger = new seq.Logger({serverUrl: 'http://192.168.0.251:5000'});
      
      onLog('silly', data => {
          const message = ExtractMessage (data.message);
          SeqLog('Verbose', data.from, message)
      });
      
      onLog('debug', data => {
          const message = ExtractMessage (data.message);
          SeqLog('Debug', data.from, message)
      });
      
      onLog('info', data => {
          const message = ExtractMessage (data.message);
          SeqLog('Information', data.from, message)
      });
      
      onLog('warn', data => {
          const message = ExtractMessage (data.message);
          SeqLog('Warning', data.from, message)
      });
      
      onLog('error', data => {
          const message = ExtractMessage (data.message);
          SeqLog('Error', data.from, message)
      });
      
      function SeqLog(logLevel, source, message) {
          logger.emit({
              timestamp: message.timestamp,
              level: logLevel,
              messageTemplate: '{Source}: ' + message,
              properties: {
                  Application: 'ioBroker',
                  Source: source
              }
          });
      }
      
      function ExtractMessage (inMessage) {
          const index = Object.values(IndexesOf(inMessage, / /g))[0][1];
          const message = inMessage.substring(index);
          return message;
      }
      
      function IndexesOf(string, regex) {
          let match, indexes = {};
          regex = new RegExp(regex);
          while (match = regex.exec(string)) {
              if (!indexes[match[0]]) indexes[match[0]] = [];
              indexes[match[0]].push(match.index);
          }
          return indexes;
      }
      

      Hier mal eine Ausgabe von den Warn, Error und Info Events in Seq 🙂
      db134285-46b9-4cd8-a9cd-39c359afb506-image.png

      Mic 1 Reply Last reply Reply Quote 0
      • Mic
        Mic Developer @IdleBit last edited by

        @IdleBit

        Hast du geprüft, dass "logTransporter": true im korrekten Zweig der io-package.json ist?

        Seq sieht sehr interessant aus, hab ich noch nicht gekannt. Wozu nutzt du es denn sonst noch so?

        IdleBit 1 Reply Last reply Reply Quote 0
        • IdleBit
          IdleBit @Mic last edited by

          @Mic sagte in Adapter mit aktiven Log Transporter:

          @IdleBit

          Hast du geprüft, dass "logTransporter": true im korrekten Zweig der io-package.json ist?

          Ja ich bin der Meinung:
          https://github.com/o0shojo0o/ioBroker.seq/blob/master/io-package.json#L53

          @Mic sagte in Adapter mit aktiven Log Transporter:

          @IdleBit
          Seq sieht sehr interessant aus, hab ich noch nicht gekannt. Wozu nutzt du es denn sonst noch so?

          Seq setzte ich soweit es geht für alles ein was Logs schmeißt 🙂

          Auf jeden Fall für alle meine selbst geschrieben Programme, denn so ein Programm übergreifendes Log ein einfach ein feuchter Traum! 😄

          Mic 2 Replies Last reply Reply Quote 0
          • Mic
            Mic Developer @IdleBit last edited by

            @IdleBit sagte in Adapter mit aktiven Log Transporter:

            Ja ich bin der Meinung:
            https://github.com/o0shojo0o/ioBroker.seq/blob/master/io-package.json#L53

            Sieht gut aus.

            In deiner main.js:
            Du hast this.requireLog(true) im constructor der Adapter-Klasse, schieb das mal in die onReady()-Funktion, dort als erste Zeile.

            IdleBit 1 Reply Last reply Reply Quote 0
            • Mic
              Mic Developer @IdleBit last edited by Mic

              @IdleBit sagte in Adapter mit aktiven Log Transporter:

              Seq setzte ich soweit es geht für alles ein was Logs schmeißt 🙂

              Auf jeden Fall für alle meine selbst geschrieben Programme, denn so ein Programm übergreifendes Log ein einfach ein feuchter Traum! 😄

              Cool. Wohl auch als Developer sehr sinnvoll, oder? Muss ich mir echt mal näher ansehen.

              Nachtrag:
              Hmm, aber da braucht unter Linux Docker, oder? Also nicht einfach zu installieren auf einer Linux-Instanz (z.B. Proxmox VM / Container)?

              IdleBit 1 Reply Last reply Reply Quote 0
              • IdleBit
                IdleBit @Mic last edited by

                @Mic sagte in Adapter mit aktiven Log Transporter:

                Nachtrag:
                Hmm, aber da braucht unter Linux Docker, oder? Also nicht einfach zu installieren auf einer Linux-Instanz (z.B. Proxmox VM / Container)?

                Tatsächlich nutze ich @work einen Windows Server und @ home/RootServer Docker unter Linux

                IdleBit 1 Reply Last reply Reply Quote 0
                • IdleBit
                  IdleBit @IdleBit last edited by

                  So Problem behoben nochmals Danke @Dutchman für den kleinen Exkurs 😉
                  Das this.requireLog(true); gehört in der onReady() Funktion.

                  Dutchman apollon77 2 Replies Last reply Reply Quote 0
                  • IdleBit
                    IdleBit @Mic last edited by

                    @Mic sagte in [Gelöst] Adapter mit aktiven Log Transporter:

                    @IdleBit sagte in Adapter mit aktiven Log Transporter:

                    Ja ich bin der Meinung:
                    https://github.com/o0shojo0o/ioBroker.seq/blob/master/io-package.json#L53

                    Sieht gut aus.

                    In deiner main.js:
                    Du hast this.requireLog(true) im constructor der Adapter-Klasse, schieb das mal in die onReady()-Funktion, dort als erste Zeile.

                    Och nöööööö, das habe ich ja total überlesen.... da war ja schon die Lösung! 🤦‍♂️

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators @IdleBit last edited by

                      @IdleBit sagte in [Gelöst] Adapter mit aktiven Log Transporter:

                      So Problem behoben nochmals Danke @Dutchman für den kleinen Exkurs 😉
                      Das this.requireLog(true); gehört in der onReady() Funktion.

                      👍 und direkt Debugger gelernt 😁

                      @IdleBit sagte in [Gelöst] Adapter mit aktiven Log Transporter:

                      Och nöööööö, das habe ich ja total überlesen.... da war ja schon die Lösung!

                      😂 🤐

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 @IdleBit last edited by

                        @IdleBit sagte in [Gelöst] Adapter mit aktiven Log Transporter:

                        Das this.requireLog(true); gehört in der onReady() Funktion.

                        exakt!

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        788
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        help wanted log transporter
                        4
                        17
                        913
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo