mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-27 23:06:01 +00:00
SYNC: export logs to file
This commit is contained in:
committed by
Diflow
parent
51da6e928d
commit
994dae2a7d
@@ -74,7 +74,8 @@ module.exports = {
|
|||||||
|
|
||||||
dispatchMessage(runid, message) {
|
dispatchMessage(runid, message) {
|
||||||
if (message) {
|
if (message) {
|
||||||
if (_.isPlainObject(message)) logger.log(message);
|
if (_.isPlainObject(message))
|
||||||
|
logger.log({ ...message, msg: message.msg || message.message || '', message: undefined });
|
||||||
else logger.info(message);
|
else logger.info(message);
|
||||||
|
|
||||||
const toEmit = _.isPlainObject(message)
|
const toEmit = _.isPlainObject(message)
|
||||||
|
|||||||
@@ -19,6 +19,11 @@
|
|||||||
import { showModal } from '../modals/modalTools';
|
import { showModal } from '../modals/modalTools';
|
||||||
import ValueLookupModal from '../modals/ValueLookupModal.svelte';
|
import ValueLookupModal from '../modals/ValueLookupModal.svelte';
|
||||||
import { createLogCompoudCondition } from 'dbgate-sqltree';
|
import { createLogCompoudCondition } from 'dbgate-sqltree';
|
||||||
|
import { exportQuickExportFile } from '../utility/exportFileTools';
|
||||||
|
import ToolStripExportButton, {
|
||||||
|
createQuickExportHandlerRef,
|
||||||
|
registerQuickExportHandler,
|
||||||
|
} from '../buttons/ToolStripExportButton.svelte';
|
||||||
|
|
||||||
let loadedRows = [];
|
let loadedRows = [];
|
||||||
let loadedAll = false;
|
let loadedAll = false;
|
||||||
@@ -32,6 +37,8 @@
|
|||||||
let domTable;
|
let domTable;
|
||||||
let jslid;
|
let jslid;
|
||||||
|
|
||||||
|
const quickExportHandlerRef = createQuickExportHandlerRef();
|
||||||
|
|
||||||
function formatPossibleUuid(value) {
|
function formatPossibleUuid(value) {
|
||||||
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
||||||
if (_.isString(value) && value.match(uuidRegex)) {
|
if (_.isString(value) && value.match(uuidRegex)) {
|
||||||
@@ -148,6 +155,28 @@
|
|||||||
onDestroy(() => {
|
onDestroy(() => {
|
||||||
apiOff('applog-event', handleLogMessage);
|
apiOff('applog-event', handleLogMessage);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const quickExportHandler = fmt => async () => {
|
||||||
|
let usedJslId = jslid;
|
||||||
|
if (mode === 'recent') {
|
||||||
|
const resp = await apiCall('files/fill-app-logs', {
|
||||||
|
dateFrom: startOfDay(new Date()).getTime(),
|
||||||
|
dateTo: endOfDay(new Date()).getTime(),
|
||||||
|
});
|
||||||
|
usedJslId = resp.jslid;
|
||||||
|
}
|
||||||
|
exportQuickExportFile(
|
||||||
|
'Log',
|
||||||
|
{
|
||||||
|
functionName: 'jslDataReader',
|
||||||
|
props: {
|
||||||
|
jslid: usedJslId,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fmt
|
||||||
|
);
|
||||||
|
};
|
||||||
|
registerQuickExportHandler(quickExportHandler);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<ToolStripContainer>
|
<ToolStripContainer>
|
||||||
@@ -370,6 +399,7 @@
|
|||||||
reloadData();
|
reloadData();
|
||||||
}}>Refresh</ToolStripButton
|
}}>Refresh</ToolStripButton
|
||||||
>
|
>
|
||||||
|
<ToolStripExportButton {quickExportHandlerRef} />
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
</ToolStripContainer>
|
</ToolStripContainer>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user