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

View File

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

View File

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

View File

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