mirror of https://github.com/rancher/dashboard.git
Remove console output from diagnostic page
- Follows on from - https://github.com/rancher/dashboard/pull/6603 - https://github.com/rancher/dashboard/pull/6700 - To track messages the console methods were overwritten - When the console methods were called, we would track message and then call the original console method - Output into the standard browser console window was broken though - the inline stack trace for all logs is the place where the original console method is called - this was always `console.js` - This causes issues whilst in development but also for logs coming from customers - Investigate ways around this, but couldn't find anything nice - short term solution is to remove the feature
This commit is contained in:
parent
3813e4bd8d
commit
f97025c647
|
|
@ -36,7 +36,6 @@ import '../plugins/global-formatters';
|
|||
import '../plugins/trim-whitespace';
|
||||
import '../plugins/extend-router';
|
||||
|
||||
import consolePlugin from '../plugins/console';
|
||||
import intNumber from '../plugins/int-number';
|
||||
import nuxtClientInit from '../plugins/nuxt-client-init';
|
||||
import replaceAll from '../plugins/replaceall';
|
||||
|
|
@ -274,10 +273,6 @@ async function createApp(ssrContext, config = {}) {
|
|||
await axiosShell(app.context, inject);
|
||||
}
|
||||
|
||||
if (process.client && typeof consolePlugin === 'function') {
|
||||
await consolePlugin(app.context, inject);
|
||||
}
|
||||
|
||||
if (process.client && typeof intNumber === 'function') {
|
||||
await intNumber(app.context, inject);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,9 +120,6 @@ export default {
|
|||
systemInformation.jsMemory.value += `, ${ this.t('about.diagnostic.systemInformation.memUsedJsHeapSize', { usedJSHeapSize: window?.performance?.memory?.usedJSHeapSize }) }`;
|
||||
}
|
||||
|
||||
// scroll logs container to the bottom
|
||||
this.scrollLogsToBottom();
|
||||
|
||||
return {
|
||||
systemInformation,
|
||||
topFifteenForResponseTime: null,
|
||||
|
|
@ -130,16 +127,9 @@ export default {
|
|||
finalCounts: null,
|
||||
includeResponseTimes: true,
|
||||
storeMapping: this.$store?._modules?.root?.state,
|
||||
latestLogs: console.logs // eslint-disable-line no-console
|
||||
};
|
||||
},
|
||||
|
||||
watch: {
|
||||
latestLogs() {
|
||||
this.scrollLogsToBottom();
|
||||
}
|
||||
},
|
||||
|
||||
computed: {
|
||||
clusterCount() {
|
||||
return this.finalCounts?.length;
|
||||
|
|
@ -147,14 +137,6 @@ export default {
|
|||
},
|
||||
|
||||
methods: {
|
||||
scrollLogsToBottom() {
|
||||
this.$nextTick(() => {
|
||||
const logsContainer = document.querySelector('.logs-container');
|
||||
|
||||
logsContainer.scrollTop = logsContainer.scrollHeight;
|
||||
});
|
||||
},
|
||||
|
||||
generateKey(data) {
|
||||
const randomize = Math.random() * 10000;
|
||||
|
||||
|
|
@ -166,7 +148,6 @@ export default {
|
|||
const fileName = 'rancher-diagnostic-data.json';
|
||||
const data = {
|
||||
systemInformation: this.systemInformation,
|
||||
logs: this.latestLogs,
|
||||
storeMapping: this.parseStoreData(this.storeMapping),
|
||||
resourceCounts: this.finalCounts,
|
||||
responseTimes: this.responseTimes
|
||||
|
|
@ -411,26 +392,6 @@ export default {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Logs -->
|
||||
<div class="mb-40">
|
||||
<h2 class="mb-20">
|
||||
{{ t('about.diagnostic.logs.subtitle') }}
|
||||
</h2>
|
||||
<ul class="logs-container">
|
||||
<li
|
||||
v-for="logEntry in latestLogs"
|
||||
:key="generateKey(logEntry.timestamp)"
|
||||
:class="logEntry.type"
|
||||
>
|
||||
<span class="log-entry-type">{{ logEntry.type }} :: </span>
|
||||
<span
|
||||
v-for="(arg, i) in logEntry.data"
|
||||
:key="i"
|
||||
>{{ arg }}</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<PromptModal />
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
/* eslint-disable no-console */
|
||||
export default () => {
|
||||
const logTypes = ['warn', 'error'];
|
||||
const MAX_LOGS_STORED = 400;
|
||||
|
||||
if (!process.env.dev) {
|
||||
console.logLog = console.log.bind(console);
|
||||
console.infoLog = console.info.bind(console);
|
||||
logTypes.push('log');
|
||||
logTypes.push('info');
|
||||
}
|
||||
|
||||
console.warnLog = console.warn.bind(console);
|
||||
console.errorLog = console.error.bind(console);
|
||||
console.logs = [];
|
||||
|
||||
logTypes.forEach((type) => {
|
||||
console[type] = function() {
|
||||
const dataLogged = {
|
||||
type,
|
||||
dateTimeUtc: new Date().toUTCString(),
|
||||
timestamp: Date.now(),
|
||||
data: Array.from(arguments)
|
||||
};
|
||||
|
||||
if (console.logs.length >= MAX_LOGS_STORED) {
|
||||
console.logs.shift();
|
||||
}
|
||||
|
||||
console.logs.push(dataLogged);
|
||||
console[`${ type }Log`].apply(console, arguments);
|
||||
};
|
||||
});
|
||||
};
|
||||
Loading…
Reference in New Issue