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

      @IdleBit sagte in Adapter mit aktiven Log Transporter:

      nicht wie erwartet setzten kann ....

      Was heisst das genau? Bekommst Du einen Fehler oder was ist?

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

        @apollon77 said in Adapter mit aktiven Log Transporter:

        Was heisst das genau? Bekommst Du einen Fehler oder was ist?

        TypeError: this.requireLog is not a function

        seq.0	2020-09-05 14:14:40.717	warn	(20750) Terminated (UNCAUGHT_EXCEPTION): Without reason
        seq.0	2020-09-05 14:14:40.298	info	(20750) starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.seq, node: v12.18.3, js-controller: 3.1.6
        host.iobroker	2020-09-05 14:14:39.287	info	instance system.adapter.seq.0 started with pid 20750
        host.iobroker	2020-09-05 14:14:09.241	info	Restart adapter system.adapter.seq.0 because enabled
        host.iobroker	2020-09-05 14:14:09.241	error	instance system.adapter.seq.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
        seq.0	2020-09-05 14:14:08.704	warn	(20731) Terminated (UNCAUGHT_EXCEPTION): Without reason
        seq.0	2020-09-05 14:14:08.156	info	(20731) starting. Version 0.0.1 in /opt/iobroker/node_modules/iobroker.seq, node: v12.18.3, js-controller: 3.1.6
        seq.0	2020-09-05 14:14:07.700	error	at internal/main/run_main_module.js:17:47
        seq.0	2020-09-05 14:14:07.700	error	at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
        seq.0	2020-09-05 14:14:07.700	error	at Function.Module._load (internal/modules/cjs/loader.js:878:14)
        seq.0	2020-09-05 14:14:07.700	error	at Module.load (internal/modules/cjs/loader.js:985:32)
        seq.0	2020-09-05 14:14:07.700	error	at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
        seq.0	2020-09-05 14:14:07.700	error	at Module._compile (internal/modules/cjs/loader.js:1137:30)
        seq.0	2020-09-05 14:14:07.700	error	at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.seq/main.js:122:5)
        seq.0	2020-09-05 14:14:07.700	error	at new Seq (/opt/iobroker/node_modules/iobroker.seq/main.js:22:14)
        seq.0	2020-09-05 14:14:07.700	error	(20731) TypeError: this.requireLog is not a function
        seq.0	2020-09-05 14:14:07.699	error	(20731) uncaught exception: this.requireLog is not a function
        host.iobroker	2020-09-05 14:14:07.275	info	instance system.adapter.seq.0 started with pid 20731
        host.iobroker	2020-09-05 14:13:37.249	info	Restart adapter system.adapter.seq.0 because enabled
        host.iobroker	2020-09-05 14:13:37.249	error	instance system.adapter.seq.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
        
        apollon77 1 Reply Last reply Reply Quote 0
        • 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

                                    935
                                    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