Howto: Kocobox Logs mit jedem Browser herunterladen

In diesem Forum dreht sich alles um den TI-Konnektor "KoCoBox" der CGM und die kommende Lösung "TIaaS" ("TI as a Service"). Egal ob Fragen, Probleme, Tipps, Hilfestellungen: Alle Beiträge zum Thema TI, KoCoBox, KIM, eAU usw. sind hier genau richtig.
Antworten
CGM-FTW
Beiträge: 69
Registriert: Mittwoch 15. November 2023, 08:10
1
PVS: CGMMANAGEDTI
Konnektortyp: Kocobox
Hat Dank erhalten: 47 mal

Howto: Kocobox Logs mit jedem Browser herunterladen

Beitrag von CGM-FTW »

Analog zum Thema Client-Zertifikat, anbei ein Bookmarklet zum Herunterladen der Logs in jedem Browser.

Vorgehen:
- Einmalig ein Lesezeichen/Bookmarklet in beliebigem Browser anlegen (Screenshot siehe unten: Name beliebig, als Link den vollständigen Javascript Code aus dem Bookmarklet hinterlegen)
- Login in den Konnektor
- Log-Seite aufrufen (kann vermutlich entfallen)
- Statt über die Seite den Download-Button zu drücken, das Bookmark anklicken und den Log-Typ dort eingeben.
Gültige Log Typen sind "system", "security" und "performance". Ersteres steht schon in der Textbox, für Systemlogs also einfach auf OK klicken. Falls security oder performance gewünscht sind, Copy&Paste aus dem Hinweistext in das Textfeld oder Wörter einfach in die Textbox schreiben. Na ja, werter Leser, sie bekommen da schon die richtigen Wörter in das Textfeld. Ich vertraue darauf.

Code: Alles auswählen

javascript:(function()%7Blet%20logtype%20%3D%20prompt(%22Bitte%20geben%20Sie%20den%20Logtyp%20an%20ein%3A%20system%20%3A%20security%20%3A%20performance%22%2C%20%22system%22)%3B%0Alet%20logpath%20%3D%20%22%22%3B%0Aswitch%20(logtype)%20%7B%0A%20%20%20case%20%22system%22%3A%20%0A%20%20%20%20%20%20logpath%20%3D%20%22log%2Fsys%2Fsys%22%3B%0A%20%20%20%20%20%20break%3B%0A%20%20%20case%20%22security%22%3A%20%0A%20%20%20%20%20%20logpath%20%3D%20%22log%2Fsec%2Fsys%22%3B%0A%20%20%20%20%20%20break%3B%20%0A%20%20%20case%20%22performance%22%3A%20%0A%20%20%20%20%20%20logpath%20%3D%20%22log%2Fperf%2Fsys%22%3B%0A%20%20%20%20%20%20break%3B%20%0A%7D%20%0Alet%20xtoken%20%3D%20document.getElementById(%22x-token%22).value%3B%0Alet%20cert%20%3D%20%22%2Fadministration%2Fdownload%2F%22%2Blogpath.replace(%2F%5Cs%2Fg%2C%20'')%2B%22%2F%22%2Blogtype%2B%22.log%3Fxtoken%3D%22%2Bxtoken%3B%0Avar%20xhr%20%3D%20new%20XMLHttpRequest()%3B%0Axhr.responseType%20%3D%20'blob'%3B%0Axhr.open('GET'%2C%20cert%2C%20true)%3B%0Axhr.send(null)%3B%0Axhr.onload%20%3D%20function%20(e)%20%7B%0A%20%20%20%20var%20blob%20%3D%20e.currentTarget.response%3B%0A%20%20%20%20saveBlob(blob%2C%20logtype%2B%22.log%22)%3B%0A%7D%0Afunction%20saveBlob(blob%2C%20fileName)%20%7B%0A%20%20%20%20var%20a%20%3D%20document.createElement('a')%3B%0A%20%20%20%20a.href%20%3D%20window.URL.createObjectURL(blob)%3B%0A%20%20%20%20a.download%20%3D%20fileName%3B%0A%20%20%20%20a.dispatchEvent(new%20MouseEvent('click'))%3B%0A%7D%7D)()%3B
Sourcecode (wird NICHT zum Anlegen des Bookmarklets benötigt)

Code: Alles auswählen

let logtype = prompt("Bitte geben Sie den Logtyp an ein: system : security : performance", "system");
let logpath = "";
switch (logtype) {
   case "system": 
      logpath = "log/sys/sys";
      break;
   case "security": 
      logpath = "log/sec/sys";
      break; 
   case "performance": 
      logpath = "log/perf/sys";
      break; 
} 
let xtoken = document.getElementById("x-token").value;
let cert = "/administration/download/"+logpath.replace(/\s/g, '')+"/"+logtype+".log?xtoken="+xtoken;
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.open('GET', cert, true);
xhr.send(null);
xhr.onload = function (e) {
    var blob = e.currentTarget.response;
    saveBlob(blob, logtype+".log");
}
function saveBlob(blob, fileName) {
    var a = document.createElement('a');
    a.href = window.URL.createObjectURL(blob);
    a.download = fileName;
    a.dispatchEvent(new MouseEvent('click'));
}
Sie haben keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast