Merged in release/2024-11-01 (pull request #1870)

release/2024-11-01 into test-AIO - IO-3006 IO-3008
This commit is contained in:
Dave Richer
2024-10-30 16:41:12 +00:00
9 changed files with 30 additions and 17 deletions

View File

@@ -44,7 +44,7 @@ function LogLevelHierarchy(level) {
return "orange"; return "orange";
case "INFO": case "INFO":
return "blue"; return "blue";
case "WARNING": case "WARN":
return "yellow"; return "yellow";
case "ERROR": case "ERROR":
return "red"; return "red";

View File

@@ -1,7 +1,7 @@
import { useMutation, useQuery } from "@apollo/client";
import { Button, Form, Modal, notification, Space } from "antd";
import { PageHeader } from "@ant-design/pro-layout"; import { PageHeader } from "@ant-design/pro-layout";
import dayjs from "../../utils/day"; import { useMutation, useQuery } from "@apollo/client";
import { useSplitTreatments } from "@splitsoftware/splitio-react";
import { Button, Form, Modal, notification, Space } from "antd";
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { connect } from "react-redux"; import { connect } from "react-redux";
@@ -11,9 +11,9 @@ import { INSERT_NEW_TIME_TICKET, UPDATE_TIME_TICKET } from "../../graphql/timeti
import { toggleModalVisible } from "../../redux/modals/modals.actions"; import { toggleModalVisible } from "../../redux/modals/modals.actions";
import { selectTimeTicket } from "../../redux/modals/modals.selectors"; import { selectTimeTicket } from "../../redux/modals/modals.selectors";
import { selectBodyshop } from "../../redux/user/user.selectors"; import { selectBodyshop } from "../../redux/user/user.selectors";
import TimeTicketModalComponent from "./time-ticket-modal.component"; import dayjs from "../../utils/day";
import TimeTicketsCommitToggleComponent from "../time-tickets-commit-toggle/time-tickets-commit-toggle.component"; import TimeTicketsCommitToggleComponent from "../time-tickets-commit-toggle/time-tickets-commit-toggle.component";
import { useSplitTreatments } from "@splitsoftware/splitio-react"; import TimeTicketModalComponent from "./time-ticket-modal.component";
const mapStateToProps = createStructuredSelector({ const mapStateToProps = createStructuredSelector({
timeTicketModal: selectTimeTicket, timeTicketModal: selectTimeTicket,
@@ -87,7 +87,7 @@ export function TimeTicketModalContainer({ timeTicketModal, toggleModalVisible,
if (enterAgain) { if (enterAgain) {
//Capture the existing information and repopulate it. //Capture the existing information and repopulate it.
const prev = form.getFieldsValue(["date", "employeeid"]); const prev = form.getFieldsValue(["date", "employeeid", "flat_rate"]);
form.resetFields(); form.resetFields();

View File

@@ -71,7 +71,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
...logs, ...logs,
{ {
timestamp: new Date(), timestamp: new Date(),
level: "WARNING", level: "WARN",
message: "Reconnected to CDK Export Service" message: "Reconnected to CDK Export Service"
} }
]; ];
@@ -125,7 +125,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
> >
<Select.Option key="DEBUG">DEBUG</Select.Option> <Select.Option key="DEBUG">DEBUG</Select.Option>
<Select.Option key="INFO">INFO</Select.Option> <Select.Option key="INFO">INFO</Select.Option>
<Select.Option key="WARNING">WARNING</Select.Option> <Select.Option key="WARN">WARN</Select.Option>
<Select.Option key="ERROR">ERROR</Select.Option> <Select.Option key="ERROR">ERROR</Select.Option>
</Select> </Select>
<Button onClick={() => setLogs([])}>Clear Logs</Button> <Button onClick={() => setLogs([])}>Clear Logs</Button>

View File

@@ -90,7 +90,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
...logs, ...logs,
{ {
timestamp: new Date(), timestamp: new Date(),
level: "WARNING", level: "warn",
message: "Reconnected to CDK Export Service" message: "Reconnected to CDK Export Service"
} }
]; ];
@@ -175,7 +175,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
> >
<Select.Option key="DEBUG">DEBUG</Select.Option> <Select.Option key="DEBUG">DEBUG</Select.Option>
<Select.Option key="INFO">INFO</Select.Option> <Select.Option key="INFO">INFO</Select.Option>
<Select.Option key="WARNING">WARNING</Select.Option> <Select.Option key="WARN">WARN</Select.Option>
<Select.Option key="ERROR">ERROR</Select.Option> <Select.Option key="ERROR">ERROR</Select.Option>
</Select> </Select>
<Button onClick={() => setLogs([])}>Clear Logs</Button> <Button onClick={() => setLogs([])}>Clear Logs</Button>

View File

@@ -611,7 +611,7 @@ async function InsertFailedExportLog(socket, error) {
bodyshopid: socket.JobData.bodyshop.id, bodyshopid: socket.JobData.bodyshop.id,
jobid: socket.JobData.id, jobid: socket.JobData.id,
successful: false, successful: false,
message: [error], message: JSON.stringify(error),
useremail: socket.user.email useremail: socket.user.email
} }
}); });

View File

@@ -995,7 +995,7 @@ async function InsertFailedExportLog(socket, error) {
bodyshopid: socket.JobData.bodyshop.id, bodyshopid: socket.JobData.bodyshop.id,
jobid: socket.JobData.id, jobid: socket.JobData.id,
successful: false, successful: false,
message: [error], message: JSON.stringify(error),
useremail: socket.user.email useremail: socket.user.email
} }
}); });

View File

@@ -20,7 +20,7 @@ function CheckCdkResponseForError(socket, soapResponse) {
//The response was null, this might be ok, it might not. //The response was null, this might be ok, it might not.
CdkBase.createLogEvent( CdkBase.createLogEvent(
socket, socket,
"WARNING", "warn",
`Warning detected in CDK Response - it appears to be null. Stack: ${new Error().stack}` `Warning detected in CDK Response - it appears to be null. Stack: ${new Error().stack}`
); );
return; return;

View File

@@ -10,6 +10,18 @@ const WinstonCloudWatch = require("winston-cloudwatch");
const { isString, isEmpty } = require("lodash"); const { isString, isEmpty } = require("lodash");
const { networkInterfaces, hostname } = require("node:os"); const { networkInterfaces, hostname } = require("node:os");
const LOG_LEVELS = {
error: { level: 0, name: "error" },
warn: { level: 1, name: "warn" },
info: { level: 2, name: "info" },
http: { level: 3, name: "http" },
verbose: { level: 4, name: "verbose" },
debug: { level: 5, name: "debug" },
silly: { level: 6, name: "silly" }
};
const normalizeLevel = (level) => (level ? level.toLowerCase() : LOG_LEVELS.debug.name);
const createLogger = () => { const createLogger = () => {
try { try {
const isLocal = isString(process.env?.LOCALSTACK_HOSTNAME) && !isEmpty(process.env?.LOCALSTACK_HOSTNAME); const isLocal = isString(process.env?.LOCALSTACK_HOSTNAME) && !isEmpty(process.env?.LOCALSTACK_HOSTNAME);
@@ -114,7 +126,7 @@ const createLogger = () => {
const log = (message, type, user, record, meta) => { const log = (message, type, user, record, meta) => {
winstonLogger.log({ winstonLogger.log({
level: type.toLowerCase(), level: normalizeLevel(type),
message, message,
user, user,
record, record,
@@ -131,7 +143,8 @@ const createLogger = () => {
console.error("Error setting up enhanced Logger, defaulting to console.: " + e?.message || ""); console.error("Error setting up enhanced Logger, defaulting to console.: " + e?.message || "");
return { return {
log: console.log, log: console.log,
logger: console.log logger: console.log,
LOG_LEVELS
}; };
} }
}; };

View File

@@ -212,7 +212,7 @@ function LogLevelHierarchy(level) {
return 4; return 4;
case "INFO": case "INFO":
return 3; return 3;
case "WARNING": case "WARN":
return 2; return 2;
case "ERROR": case "ERROR":
return 1; return 1;