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.
    • Mic
      Mic Developer @IdleBit last edited by

      @IdleBit sagte in Adapter mit aktiven Log Transporter:

      ich bin grade dabei mir ein kleinen Adapter zu Bauen mit dem ich die ioBroker Logs ins Seq pumpen kann.

      BTW, sehr interessantes Vorhaben von dir 😎
      Sag Bescheid, falls sich da ggf. Synergien zum Log Parser Adapter ergeben.

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

        @apollon77 said in Adapter mit aktiven Log Transporter:

        wenn ja hast Du nach dem einbau davon einmal "iobroker upload meinadaptername" gemacht?
        Die Funktion wird nur definiert wenn es auch in der io-package korrekr steht

        Ja das habe ich beides so gemacht.

        @Mic said in Adapter mit aktiven Log Transporter:

        @IdleBit
        Kannst dir mal https://github.com/Mic-M/ioBroker.logparser ansehen, dort habe ich den Log Transporter umgesetzt. 😉

        Hehe, hatte ich schon längste bei dir abgeschaut 😄

        IdleBit 1 Reply Last reply Reply Quote 0
        • 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

                            636
                            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