CEC-279 Add logger (#62)
* CEC-279 Add logger * Error log 500 status requests
This commit is contained in:
@@ -12,6 +12,7 @@ import useStyles from "../../useStyles";
|
|||||||
import { tsLocalDateTimeString } from "../../../utils/dates";
|
import { tsLocalDateTimeString } from "../../../utils/dates";
|
||||||
import SearchField from "../../Controls/SearchField";
|
import SearchField from "../../Controls/SearchField";
|
||||||
import CarSelectionTable from "../../Cars/CarSelectionTable";
|
import CarSelectionTable from "../../Cars/CarSelectionTable";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const MainForm = () => {
|
const MainForm = () => {
|
||||||
const { packageid } = useParams();
|
const { packageid } = useParams();
|
||||||
@@ -41,6 +42,7 @@ const MainForm = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleSelect = (event, key) => {
|
const handleSelect = (event, key) => {
|
||||||
|
try {
|
||||||
let newSelected;
|
let newSelected;
|
||||||
if (event.target.checked) {
|
if (event.target.checked) {
|
||||||
newSelected = [...selected];
|
newSelected = [...selected];
|
||||||
@@ -49,6 +51,9 @@ const MainForm = () => {
|
|||||||
newSelected = selected.filter((vin) => vin !== key);
|
newSelected = selected.filter((vin) => vin !== key);
|
||||||
}
|
}
|
||||||
setSelected(newSelected);
|
setSelected(newSelected);
|
||||||
|
} catch (e) {
|
||||||
|
logger.warn(e.stack);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const onSubmit = async (event) => {
|
const onSubmit = async (event) => {
|
||||||
@@ -65,13 +70,16 @@ const MainForm = () => {
|
|||||||
setRedirect(`/carupdate-status/${packageid}`);
|
setRedirect(`/carupdate-status/${packageid}`);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
try {
|
try {
|
||||||
getPackages({ id: parseInt(packageid) }, token);
|
getPackages({ id: parseInt(packageid) }, token);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -82,7 +90,7 @@ const MainForm = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(`Deploy ${packageName} ${version}`);
|
setTitle(`Deploy ${packageName} ${version}`);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [packageName, version]);
|
}, [packageName, version]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import { useUserContext } from "../../Contexts/UserContext";
|
|||||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||||
import useStyles from "../../useStyles";
|
import useStyles from "../../useStyles";
|
||||||
import { LocalDateTimeString } from "../../../utils/dates";
|
import { LocalDateTimeString } from "../../../utils/dates";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const MainForm = () => {
|
const MainForm = () => {
|
||||||
const { packageid } = useParams();
|
const { packageid } = useParams();
|
||||||
@@ -43,25 +44,28 @@ const MainForm = () => {
|
|||||||
} = useUserContext();
|
} = useUserContext();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
(async () => {
|
||||||
try {
|
try {
|
||||||
getPackages({ id: packageid }, token);
|
await getPackages({ id: packageid }, token);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line
|
})();
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [token]);
|
}, [token]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!packages || packages.length === 0) return;
|
if (!packages || packages.length === 0) return;
|
||||||
setTitle(`Package ${packages[0].package_name} ${packages[0].version}`);
|
setTitle(`Package ${packages[0].package_name} ${packages[0].version}`);
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
// eslint-disable-next-line
|
|
||||||
}, [packages]);
|
}, [packages]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
(async () => {
|
||||||
try {
|
try {
|
||||||
stopMonitor();
|
stopMonitor();
|
||||||
getCarUpdates(
|
await getCarUpdates(
|
||||||
{
|
{
|
||||||
packageid,
|
packageid,
|
||||||
limit: pageSize,
|
limit: pageSize,
|
||||||
@@ -71,8 +75,10 @@ const MainForm = () => {
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line
|
})();
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [pageIndex, pageSize, token]);
|
}, [pageIndex, pageSize, token]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -81,11 +87,12 @@ const MainForm = () => {
|
|||||||
startMonitor(token);
|
startMonitor(token);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
return () => {
|
return () => {
|
||||||
stopMonitor();
|
stopMonitor();
|
||||||
};
|
};
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [carUpdates]);
|
}, [carUpdates]);
|
||||||
|
|
||||||
const handleChangePageIndex = (event, newIndex) => {
|
const handleChangePageIndex = (event, newIndex) => {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import {
|
|||||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||||
import { useUserContext } from "../../Contexts/UserContext";
|
import { useUserContext } from "../../Contexts/UserContext";
|
||||||
import { Button, TextField } from "@material-ui/core";
|
import { Button, TextField } from "@material-ui/core";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const MainForm = () => {
|
const MainForm = () => {
|
||||||
const { addVehicle, busy } = useVehicleContext();
|
const { addVehicle, busy } = useVehicleContext();
|
||||||
@@ -25,7 +26,7 @@ const MainForm = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("Add Vehicle");
|
setTitle("Add Vehicle");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
const onSubmit = async (event) => {
|
const onSubmit = async (event) => {
|
||||||
try {
|
try {
|
||||||
@@ -44,6 +45,7 @@ const MainForm = () => {
|
|||||||
vinEl.current.value = "";
|
vinEl.current.value = "";
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ const Control = (props) => {
|
|||||||
await getYears(token);
|
await getYears(token);
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
})();
|
})();
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [token]);
|
}, [token]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -56,14 +56,14 @@ const Control = (props) => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (model === null || year === -1) return;
|
if (model === null || year === -1) return;
|
||||||
getVehicles({ model, year, trim }, token);
|
getVehicles({ model, year, trim }, token);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [model, year, trim]);
|
}, [model, year, trim]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!props.onSelection) return;
|
if (!props.onSelection) return;
|
||||||
const vins = vehicles.map((item) => item.vin);
|
const vins = vehicles.map((item) => item.vin);
|
||||||
props.onSelection(vins);
|
props.onSelection(vins);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [vehicles]);
|
}, [vehicles]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import { useVehicleContext } from "../../Contexts/VehicleContext";
|
|||||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||||
import { LocalDateTimeString } from "../../../utils/dates";
|
import { LocalDateTimeString } from "../../../utils/dates";
|
||||||
import TableHeaderSortable from "../../Table/HeaderSortable";
|
import TableHeaderSortable from "../../Table/HeaderSortable";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const tableColumns = [
|
const tableColumns = [
|
||||||
{
|
{
|
||||||
@@ -100,12 +101,15 @@ const CarSelectionTable = (props) => {
|
|||||||
offset: pageSize * pageIndex,
|
offset: pageSize * pageIndex,
|
||||||
order: `${orderBy} ${order}`,
|
order: `${orderBy} ${order}`,
|
||||||
};
|
};
|
||||||
|
(async () => {
|
||||||
try {
|
try {
|
||||||
getVehicles(Object.assign(options, search), token);
|
await getVehicles(Object.assign(options, search), token);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line
|
})();
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [pageIndex, pageSize, orderBy, order, search, token]);
|
}, [pageIndex, pageSize, orderBy, order, search, token]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import useStyles from "../../useStyles";
|
|||||||
import { LocalDateTimeString } from "../../../utils/dates";
|
import { LocalDateTimeString } from "../../../utils/dates";
|
||||||
import TableHeaderSortable from "../../Table/HeaderSortable";
|
import TableHeaderSortable from "../../Table/HeaderSortable";
|
||||||
import SearchField from "../../Controls/SearchField";
|
import SearchField from "../../Controls/SearchField";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const tableColumns = [
|
const tableColumns = [
|
||||||
{
|
{
|
||||||
@@ -78,12 +79,13 @@ const MainForm = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("Vehicles");
|
setTitle("Vehicles");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
(async () => {
|
||||||
try {
|
try {
|
||||||
getVehicles(
|
await getVehicles(
|
||||||
{
|
{
|
||||||
limit: pageSize,
|
limit: pageSize,
|
||||||
offset: pageSize * pageIndex,
|
offset: pageSize * pageIndex,
|
||||||
@@ -94,8 +96,10 @@ const MainForm = () => {
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line
|
})();
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [pageIndex, pageSize, token, orderBy, order, search]);
|
}, [pageIndex, pageSize, token, orderBy, order, search]);
|
||||||
|
|
||||||
const handleChangePageIndex = (event, newIndex) => {
|
const handleChangePageIndex = (event, newIndex) => {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import commands from "../../../services/commands";
|
|||||||
import useStyles from "../../useStyles";
|
import useStyles from "../../useStyles";
|
||||||
import { useUserContext } from "../../Contexts/UserContext";
|
import { useUserContext } from "../../Contexts/UserContext";
|
||||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const SendCommand = ({ vins }) => {
|
const SendCommand = ({ vins }) => {
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
@@ -50,6 +51,7 @@ const SendCommand = ({ vins }) => {
|
|||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.error(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -69,7 +71,7 @@ const SendCommand = ({ vins }) => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!commands || commands.length === 0) return;
|
if (!commands || commands.length === 0) return;
|
||||||
selectCommand(commands[0].value);
|
selectCommand(commands[0].value);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import useStyles from "../../useStyles";
|
|||||||
import SendCommand from "../SendCommand";
|
import SendCommand from "../SendCommand";
|
||||||
import SearchField from "../../Controls/SearchField";
|
import SearchField from "../../Controls/SearchField";
|
||||||
import CarSelectionTable from "../CarSelectionTable";
|
import CarSelectionTable from "../CarSelectionTable";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const MainForm = () => {
|
const MainForm = () => {
|
||||||
const classes = useStyles();
|
const classes = useStyles();
|
||||||
@@ -30,6 +31,7 @@ const MainForm = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleSelect = (event, key) => {
|
const handleSelect = (event, key) => {
|
||||||
|
try {
|
||||||
let newSelected;
|
let newSelected;
|
||||||
if (event.target.checked) {
|
if (event.target.checked) {
|
||||||
newSelected = [...selected];
|
newSelected = [...selected];
|
||||||
@@ -38,11 +40,14 @@ const MainForm = () => {
|
|||||||
newSelected = selected.filter((vin) => vin !== key);
|
newSelected = selected.filter((vin) => vin !== key);
|
||||||
}
|
}
|
||||||
setSelected(newSelected);
|
setSelected(newSelected);
|
||||||
|
} catch (e) {
|
||||||
|
logger.warn(e.stack);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("Send Command");
|
setTitle("Send Command");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import { useStatusContext } from "../../Contexts/StatusContext";
|
|||||||
import useStyles from "../../useStyles";
|
import useStyles from "../../useStyles";
|
||||||
import { LocalDateTimeString } from "../../../utils/dates";
|
import { LocalDateTimeString } from "../../../utils/dates";
|
||||||
import TableHeaderSortable from "../../Table/HeaderSortable";
|
import TableHeaderSortable from "../../Table/HeaderSortable";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const tableColumns = [
|
const tableColumns = [
|
||||||
{
|
{
|
||||||
@@ -60,11 +61,13 @@ const MainForm = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(`Vehicle ${vin} Details`);
|
setTitle(`Vehicle ${vin} Details`);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [vin]);
|
}, [vin]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
(async () => {
|
||||||
try {
|
try {
|
||||||
getCarUpdates(
|
await getCarUpdates(
|
||||||
{
|
{
|
||||||
vin,
|
vin,
|
||||||
limit: pageSize,
|
limit: pageSize,
|
||||||
@@ -75,8 +78,10 @@ const MainForm = () => {
|
|||||||
);
|
);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
// eslint-disable-next-line
|
})();
|
||||||
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [pageIndex, pageSize, token, orderBy, order]);
|
}, [pageIndex, pageSize, token, orderBy, order]);
|
||||||
|
|
||||||
const handleChangePageIndex = (event, newIndex) => {
|
const handleChangePageIndex = (event, newIndex) => {
|
||||||
@@ -89,6 +94,7 @@ const MainForm = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const handleSort = (event, property) => {
|
const handleSort = (event, property) => {
|
||||||
|
try {
|
||||||
if (property === orderBy) {
|
if (property === orderBy) {
|
||||||
if (order === "asc") {
|
if (order === "asc") {
|
||||||
setOrder("desc");
|
setOrder("desc");
|
||||||
@@ -99,6 +105,9 @@ const MainForm = () => {
|
|||||||
setOrderBy(property);
|
setOrderBy(property);
|
||||||
setOrder("asc");
|
setOrder("asc");
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
|
logger.warn(e.stack);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ export default function CarStatusModal(props) {
|
|||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [props.vin]);
|
}, [props.vin]);
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const Dashboard = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("Dashboard");
|
setTitle("Dashboard");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ const Home = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("");
|
setTitle("");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import React, { useEffect, useRef, useState } from "react";
|
import React, { useEffect, useRef, useState } from "react";
|
||||||
|
import { Redirect } from "react-router";
|
||||||
import { Button, TextField } from "@material-ui/core";
|
import { Button, TextField } from "@material-ui/core";
|
||||||
import { DropzoneArea } from "material-ui-dropzone";
|
import { DropzoneArea } from "material-ui-dropzone";
|
||||||
|
|
||||||
import { useUserContext } from "../../Contexts/UserContext";
|
import { useUserContext } from "../../Contexts/UserContext";
|
||||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||||
import {
|
import {
|
||||||
@@ -9,7 +11,7 @@ import {
|
|||||||
} from "../../Contexts/FileUploadContext";
|
} from "../../Contexts/FileUploadContext";
|
||||||
import ModalProgressBar from "../../ModalProgressBar";
|
import ModalProgressBar from "../../ModalProgressBar";
|
||||||
import useStyles from "../../useStyles";
|
import useStyles from "../../useStyles";
|
||||||
import { Redirect } from "react-router";
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const FileUploadZone = ({ classes, token }) => {
|
const FileUploadZone = ({ classes, token }) => {
|
||||||
const { setFiles } = useFileUploadContext();
|
const { setFiles } = useFileUploadContext();
|
||||||
@@ -52,7 +54,7 @@ const MainForm = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("Create Update Package");
|
setTitle("Create Update Package");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const onSubmit = async (event) => {
|
const onSubmit = async (event) => {
|
||||||
@@ -76,6 +78,7 @@ const MainForm = () => {
|
|||||||
setRedirect(`/carupdate-deploy/${result.id}`);
|
setRedirect(`/carupdate-deploy/${result.id}`);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import { useUserContext } from "../../Contexts/UserContext";
|
|||||||
import { useStatusContext } from "../../Contexts/StatusContext";
|
import { useStatusContext } from "../../Contexts/StatusContext";
|
||||||
import useStyles from "../../useStyles";
|
import useStyles from "../../useStyles";
|
||||||
import { tsLocalDateTimeString } from "../../../utils/dates";
|
import { tsLocalDateTimeString } from "../../../utils/dates";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const MainForm = () => {
|
const MainForm = () => {
|
||||||
const { id } = useParams();
|
const { id } = useParams();
|
||||||
@@ -42,6 +43,7 @@ const MainForm = () => {
|
|||||||
setMessage(`Updated ${packageName} ${version}`);
|
setMessage(`Updated ${packageName} ${version}`);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
@@ -49,6 +51,7 @@ const MainForm = () => {
|
|||||||
getPackages({ id: parseInt(id) }, token);
|
getPackages({ id: parseInt(id) }, token);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const handleChange = (event) => {
|
const handleChange = (event) => {
|
||||||
@@ -70,7 +73,7 @@ const MainForm = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle(`Edit Update Package ${id}`);
|
setTitle(`Edit Update Package ${id}`);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import { LocalDateTimeString } from "../../../utils/dates";
|
|||||||
import { Roles, hasRole } from "../../../utils/roles";
|
import { Roles, hasRole } from "../../../utils/roles";
|
||||||
import TableHeaderSortable from "../../Table/HeaderSortable";
|
import TableHeaderSortable from "../../Table/HeaderSortable";
|
||||||
import SearchField from "../../Controls/SearchField";
|
import SearchField from "../../Controls/SearchField";
|
||||||
|
import { logger } from "../../../services/monitoring";
|
||||||
|
|
||||||
const tableColumns = [
|
const tableColumns = [
|
||||||
{
|
{
|
||||||
@@ -67,7 +68,7 @@ const UpdatePackagesList = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTitle("Deploy Packages");
|
setTitle("Deploy Packages");
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -80,7 +81,7 @@ const UpdatePackagesList = () => {
|
|||||||
},
|
},
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||||
}, [pageIndex, pageSize, token, orderBy, order, search]);
|
}, [pageIndex, pageSize, token, orderBy, order, search]);
|
||||||
|
|
||||||
const handleChangePageIndex = (event, newIndex) => {
|
const handleChangePageIndex = (event, newIndex) => {
|
||||||
@@ -114,6 +115,7 @@ const UpdatePackagesList = () => {
|
|||||||
await deletePackage(parseInt(package_id), token);
|
await deletePackage(parseInt(package_id), token);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
setMessage(e.message);
|
setMessage(e.message);
|
||||||
|
logger.warn(e.stack);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ import { datadogLogs } from "@datadog/browser-logs";
|
|||||||
const applicationId = '8ecd160c-ad5c-4e06-8d88-3a6b89833246';
|
const applicationId = '8ecd160c-ad5c-4e06-8d88-3a6b89833246';
|
||||||
const clientToken = 'pubeb25449bb91773fc993855c7378e375a';
|
const clientToken = 'pubeb25449bb91773fc993855c7378e375a';
|
||||||
const site = 'datadoghq.com';
|
const site = 'datadoghq.com';
|
||||||
|
const service = 'ota-portal';
|
||||||
|
|
||||||
datadogRum.init({
|
datadogRum.init({
|
||||||
applicationId,
|
applicationId,
|
||||||
clientToken,
|
clientToken,
|
||||||
site,
|
site,
|
||||||
service:'ota-portal',
|
service,
|
||||||
// Specify a version number to identify the deployed version of your application in Datadog
|
// Specify a version number to identify the deployed version of your application in Datadog
|
||||||
// version: '1.0.0',
|
// version: '1.0.0',
|
||||||
sampleRate: 100,
|
sampleRate: 100,
|
||||||
@@ -19,6 +20,7 @@ datadogRum.init({
|
|||||||
datadogLogs.init({
|
datadogLogs.init({
|
||||||
clientToken,
|
clientToken,
|
||||||
site,
|
site,
|
||||||
|
service,
|
||||||
forwardErrorsToLogs: true,
|
forwardErrorsToLogs: true,
|
||||||
sampleRate: 100,
|
sampleRate: 100,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
import { logger } from "../services/monitoring";
|
||||||
|
|
||||||
export const getAuthHeaderOptions = (token) => ({
|
export const getAuthHeaderOptions = (token) => ({
|
||||||
"Authorization": `Bearer ${token}`,
|
"Authorization": `Bearer ${token}`,
|
||||||
});
|
});
|
||||||
@@ -6,11 +8,17 @@ export const fetchRespHandler = (response) => {
|
|||||||
if (response.ok) return response.json();
|
if (response.ok) return response.json();
|
||||||
|
|
||||||
return response.text()
|
return response.text()
|
||||||
.then((text) => JSON.parse(text))
|
.then((text) => {
|
||||||
.catch((e) => ({
|
if (response.status >= 500) logger.error(text);
|
||||||
|
return JSON.parse(text);
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
logger.error(e.stack);
|
||||||
|
return {
|
||||||
error: response.statusText,
|
error: response.statusText,
|
||||||
message: `${response.status} ${response.statusText}`,
|
message: `${response.status} ${response.statusText}`,
|
||||||
}))
|
};
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export const addQueryParams = (url, params) => {
|
export const addQueryParams = (url, params) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user