const syslogdata = document.querySelector('.syslogdata') const refreshbutton = document.querySelector('#refreshbutton') const openrouterfilter = document.querySelector('#openrouterfilter') const authservicefilter = document.querySelector('#authservicefilter') const realtimesyslogchekbox = document.querySelector('#realtimesyslog') let openrouterfilterenable = false let authservicefilerenable = false const get_syslog_data = () => { fetch(routes.syslog(), { method: 'GET', // body: `{"token":"${localStorage.getItem("token")}"}` }).then(data => data.text()).then(textdata => { if (openrouterfilterenable) { openrouterfilterfunc(textdata) return } if (authservicefilerenable) { authservicefilterfunc(textdata) return } syslogdata.innerHTML = textdata.replace(/\n/g, '
') }).catch((error) => { notification(`Ошибка на сервере: ${error}`, "error") }) } refreshbutton.addEventListener('click', () => { openrouterfilterenable = false authservicefilerenable = false get_syslog_data() }) openrouterfilter.addEventListener('click', () => { openrouterfilterenable = true get_syslog_data() }) authservicefilter.addEventListener('click', () => { authservicefilerenable = true openrouterfilterenable = false get_syslog_data() }) const openrouterfilterfunc = (textdata) => { let syslogalldata = textdata.replace(/\n/g, '
') syslogalldata = syslogalldata.split("
") syslogalldata = syslogalldata.filter(data => { return data.includes("openrouter:") }) syslogdata.innerHTML = "" for (const data in syslogalldata) { syslogdata.innerHTML += syslogalldata[data] + "
" } return } const authservicefilterfunc = (textdata) => { let syslogalldata = textdata.replace(/\n/g, '
') syslogalldata = syslogalldata.split("
") syslogalldata = syslogalldata.filter(data => { return data.includes("auth_service:") }) syslogdata.innerHTML = "" for (const data in syslogalldata) { syslogdata.innerHTML += syslogalldata[data] + "
" } return } let syslogRealtimeIntervalId realtimesyslogchekbox.addEventListener('click', () => { if (realtimesyslogchekbox.checked) { syslogRealtimeIntervalId = setInterval(get_syslog_data, 1000) // let socket = new WebSocket("ws://192.168.122.76/syslog"); // socket.onmessage = function(event) { // console.log(event.data) // }; } else { clearInterval(syslogRealtimeIntervalId) } })