mirror of
https://github.com/garraflavatra/rolens.git
synced 2025-07-19 22:18:03 +00:00
Add ability to see host logs (#54)
Squashed commit of the following: commit93b2d67cef
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 20:07:33 2023 +0200 Add filter functionality commit30b65a198f
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 19:27:20 2023 +0200 Renamed `form-row` class to `formrow` commit21afb01ea1
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 19:26:04 2023 +0200 Hide object types in object grid commit037d5432a4
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 19:21:54 2023 +0200 Make auto reload interval input smaller commit49d5022027
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 15:08:00 2023 +0200 Implement logs autoreload commit1f8984766b
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 15:04:00 2023 +0200 Return on error commit9c85259964
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 15:03:37 2023 +0200 Add log error handling commit7a98a63866
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 14:46:39 2023 +0200 Update log tab icon commitf30827ae2e
Author: Romein van Buren <romein@vburen.nl> Date: Sat Jul 1 14:41:59 2023 +0200 Add host log panel
This commit is contained in:
@ -2,8 +2,10 @@ import { ObjectId } from 'bson';
|
||||
import aggregationStages from './aggregation-stages.json';
|
||||
import atomicUpdateOperators from './atomic-update-operators.json';
|
||||
import locales from './locales.json';
|
||||
import logComponents from './log-components.json';
|
||||
import logLevels from './loglevels.json';
|
||||
|
||||
export { aggregationStages, atomicUpdateOperators, locales };
|
||||
export { aggregationStages, atomicUpdateOperators, locales, logComponents, logLevels };
|
||||
|
||||
// Calculate the min and max values of (un)signed integers with n bits
|
||||
export const intMin = bits => Math.pow(2, bits - 1) * -1;
|
||||
|
36
frontend/src/lib/mongo/log-components.json
Normal file
36
frontend/src/lib/mongo/log-components.json
Normal file
@ -0,0 +1,36 @@
|
||||
[
|
||||
"ACCESS",
|
||||
"COMMAND",
|
||||
"CONTROL",
|
||||
"ELECTION",
|
||||
"FTDC",
|
||||
"GEO",
|
||||
"INDEX",
|
||||
"INITSYNC",
|
||||
"JOURNAL",
|
||||
"NETWORK",
|
||||
"QUERY",
|
||||
"RECOVERY",
|
||||
"REPL",
|
||||
"REPL_HB",
|
||||
"ROLLBACK",
|
||||
"SHARDING",
|
||||
"STORAGE",
|
||||
"TXN",
|
||||
"WRITE",
|
||||
"WT",
|
||||
"WTBACKUP",
|
||||
"WTCHKPT",
|
||||
"WTCMPCT",
|
||||
"WTEVICT",
|
||||
"WTHS",
|
||||
"WTRECOV",
|
||||
"WTRTS",
|
||||
"WTSLVG",
|
||||
"WTTIER",
|
||||
"WTTS",
|
||||
"WTTXN",
|
||||
"WTVRFY",
|
||||
"WTWRTLOG",
|
||||
"-"
|
||||
]
|
7
frontend/src/lib/mongo/loglevels.json
Normal file
7
frontend/src/lib/mongo/loglevels.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"F": "Fatal",
|
||||
"E": "Error",
|
||||
"W": "Warning",
|
||||
"I": "Info",
|
||||
"D": "Debug"
|
||||
}
|
@ -17,6 +17,7 @@ import {
|
||||
DropDatabase,
|
||||
DropIndex,
|
||||
GetIndexes,
|
||||
HostLogs,
|
||||
Hosts,
|
||||
OpenCollection,
|
||||
OpenConnection,
|
||||
@ -263,17 +264,17 @@ async function refresh() {
|
||||
};
|
||||
}
|
||||
|
||||
host.newDatabase = async function() {
|
||||
const name = await dialogs.enterText('Create a database', 'Enter the database name. Note: databases in MongoDB do not exist until they have a collection and an item. Your new database will not persist on the server; fill it to have it created.', '');
|
||||
if (name) {
|
||||
host.databases[name] = { key: name, new: true };
|
||||
await host.open();
|
||||
}
|
||||
};
|
||||
|
||||
await refresh();
|
||||
};
|
||||
|
||||
host.newDatabase = async function() {
|
||||
const name = await dialogs.enterText('Create a database', 'Enter the database name. Note: databases in MongoDB do not exist until they have a collection and an item. Your new database will not persist on the server; fill it to have it created.', '');
|
||||
if (name) {
|
||||
host.databases[name] = { key: name, new: true };
|
||||
await host.open();
|
||||
}
|
||||
};
|
||||
|
||||
host.edit = async function() {
|
||||
const dialog = dialogs.new(HostDetailDialog, { hostKey });
|
||||
return new Promise(resolve => {
|
||||
@ -283,6 +284,10 @@ async function refresh() {
|
||||
});
|
||||
};
|
||||
|
||||
host.getLogs = async function(filter = 'global') {
|
||||
return await HostLogs(hostKey, filter);
|
||||
};
|
||||
|
||||
host.remove = async function() {
|
||||
await RemoveHost(hostKey);
|
||||
await refresh();
|
||||
|
Reference in New Issue
Block a user