error track

This commit is contained in:
archer
2023-09-03 18:26:36 +08:00
parent e0b23a26f2
commit 1ace8fb9a3
4 changed files with 38 additions and 6 deletions

View File

@@ -12,6 +12,7 @@ import { clientInitData, feConfigs } from '@/store/static';
import { appWithTranslation, useTranslation } from 'next-i18next';
import { getLangStore, setLangStore } from '@/utils/i18n';
import { useRouter } from 'next/router';
import { useGlobalStore } from '@/store/global';
import 'nprogress/nprogress.css';
import '@/styles/reset.scss';
@@ -37,6 +38,7 @@ function App({ Component, pageProps }: AppProps) {
const router = useRouter();
const { hiId } = router.query as { hiId?: string };
const { i18n } = useTranslation();
const { setLastRoute } = useGlobalStore();
const [scripts, setScripts] = useState<FeConfigsType['scripts']>([]);
const [googleClientVerKey, setGoogleVerKey] = useState<string>();
@@ -75,6 +77,10 @@ function App({ Component, pageProps }: AppProps) {
const lang = getLangStore() || 'zh';
i18n?.changeLanguage?.(lang);
setLangStore(lang);
return () => {
setLastRoute(router.asPath);
};
}, [router.asPath]);
return (

View File

@@ -1,14 +1,22 @@
import { useEffect } from 'react';
import { useRouter } from 'next/router';
import { serviceSideProps } from '@/utils/i18n';
import { useGlobalStore } from '@/store/global';
import { addLog } from '@/service/utils/tools';
import { getErrText } from '@/utils/tools';
function Error() {
const router = useRouter();
const { lastRoute } = useGlobalStore();
useEffect(() => {
setTimeout(() => {
window.umami?.track('pageError', {
userAgent: navigator.userAgent,
platform: navigator.platform,
appName: navigator.appName
appName: navigator.appName,
lastRoute,
route: router.asPath
});
}, 1000);
@@ -26,7 +34,9 @@ function Error() {
}
export async function getServerSideProps(context: any) {
console.log(context);
console.log('[render error]: ', context);
addLog.error(getErrText(context?.res));
return {
props: { ...(await serviceSideProps(context)) }

View File

@@ -4,6 +4,7 @@ import { TrainingData } from '../models/trainingData';
import { ERROR_ENUM } from '../errorCode';
import { TrainingModeEnum } from '@/constants/plugin';
import { sendInform } from '@/pages/api/user/inform/send';
import { addLog } from '../utils/tools';
const reduceQueue = () => {
global.vectorQueueLen = global.vectorQueueLen > 0 ? global.vectorQueueLen - 1 : 0;
@@ -87,10 +88,15 @@ export async function generateVector(): Promise<any> {
reduceQueue();
// log
if (err?.response) {
console.log('openai error: 生成向量错误');
console.log(err.response?.status, err.response?.statusText, err.response?.data);
addLog.info('openai error: 生成向量错误', {
status: err.response?.status,
stateusText: err.response?.statusText,
data: err.response?.data
});
} else {
console.log('生成向量错误:', err);
addLog.info('openai error: 生成向量错误', {
err
});
}
// message error or openai account error
@@ -98,7 +104,9 @@ export async function generateVector(): Promise<any> {
err?.message === 'invalid message format' ||
err.response?.data?.error?.type === 'invalid_request_error'
) {
console.log(dataItems);
addLog.info('invalid message format', {
dataItems
});
try {
await TrainingData.findByIdAndUpdate(trainingId, {
lockTime: new Date('2998/5/5')

View File

@@ -6,6 +6,8 @@ import axios from 'axios';
type LoginStoreType = { provider: 'git'; lastRoute: string };
type State = {
lastRoute: string;
setLastRoute: (e: string) => void;
loginStore?: LoginStoreType;
setLoginStore: (e: LoginStoreType) => void;
loading: boolean;
@@ -22,6 +24,12 @@ export const useGlobalStore = create<State>()(
devtools(
persist(
immer((set, get) => ({
lastRoute: '/app/list',
setLastRoute(e) {
set((state) => {
state.lastRoute = e;
});
},
loginStore: undefined,
setLoginStore(e) {
set((state) => {