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

      @IdleBit Ist das korrekt?

      To activate in your adapter, add "logTransporter": true to the common structure of your io-package.json.

      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

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

        @IdleBit
        Kannst dir mal https://github.com/Mic-M/ioBroker.logparser ansehen, dort habe ich den Log Transporter umgesetzt. 😉
        In io-package.json
        Und hier in der main.js: function subscribeToAdapterLogs()
        748059a2-e15e-4bca-8db0-7003bf8324ea-image.png

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

                                856
                                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