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 @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

                          790
                          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