feat: 日志优化
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { Modal, Spin, Descriptions, Tag, List, Badge, Empty, Input, Button, message } from 'antd';
|
||||
import { eventService } from '../../../services/eventService';
|
||||
import { logger } from '../../../utils/logger';
|
||||
import moment from 'moment';
|
||||
|
||||
const EventDetailModal = ({ visible, event, onClose }) => {
|
||||
@@ -22,7 +23,9 @@ const EventDetailModal = ({ visible, event, onClose }) => {
|
||||
setEventDetail(response.data);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load event detail:', error);
|
||||
logger.error('EventDetailModal', 'loadEventDetail', error, {
|
||||
eventId: event?.id
|
||||
});
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
@@ -39,7 +42,9 @@ const EventDetailModal = ({ visible, event, onClose }) => {
|
||||
setComments(result.data || []);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load comments:', error);
|
||||
logger.error('EventDetailModal', 'loadComments', error, {
|
||||
eventId: event?.id
|
||||
});
|
||||
} finally {
|
||||
setCommentsLoading(false);
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import { useSubscription } from '../../../hooks/useSubscription';
|
||||
import SubscriptionUpgradeModal from '../../../components/SubscriptionUpgradeModal';
|
||||
import CitationMark from '../../../components/Citation/CitationMark';
|
||||
import { processCitationData } from '../../../utils/citationUtils';
|
||||
import { logger } from '../../../utils/logger';
|
||||
import './InvestmentCalendar.css';
|
||||
|
||||
const { TabPane } = Tabs;
|
||||
@@ -56,7 +57,10 @@ const InvestmentCalendar = () => {
|
||||
setEventCounts(response.data);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load calendar event counts:', error);
|
||||
logger.error('InvestmentCalendar', 'loadEventCounts', error, {
|
||||
year: date.year(),
|
||||
month: date.month() + 1
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -71,7 +75,9 @@ const InvestmentCalendar = () => {
|
||||
setSelectedDateEvents(response.data);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load date events:', error);
|
||||
logger.error('InvestmentCalendar', 'loadDateEvents', error, {
|
||||
dateStr: date.format('YYYY-MM-DD')
|
||||
});
|
||||
setSelectedDateEvents([]);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
@@ -109,13 +115,15 @@ const InvestmentCalendar = () => {
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(`Failed to load quote for ${code}:`, err);
|
||||
logger.error('InvestmentCalendar', 'loadStockQuotes.fetchQuote', err, { code });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
setStockQuotes(quotes);
|
||||
} catch (error) {
|
||||
console.error('Failed to load stock quotes:', error);
|
||||
logger.error('InvestmentCalendar', 'loadStockQuotes', error, {
|
||||
stockCount: stocks.length
|
||||
});
|
||||
message.error('加载股票行情失败');
|
||||
}
|
||||
};
|
||||
@@ -239,7 +247,7 @@ const InvestmentCalendar = () => {
|
||||
message.error(response.error || '操作失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('关注操作失败:', error);
|
||||
logger.error('InvestmentCalendar', 'handleFollowToggle', error, { eventId });
|
||||
message.error('操作失败,请重试');
|
||||
} finally {
|
||||
setFollowingIds(prev => prev.filter(id => id !== eventId));
|
||||
@@ -272,7 +280,10 @@ const InvestmentCalendar = () => {
|
||||
message.error(data.error || '添加失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`添加${stock[1]}(${stockCode})到自选失败:`, error);
|
||||
logger.error('InvestmentCalendar', 'addSingleToWatchlist', error, {
|
||||
stockCode,
|
||||
stockName: stock[1]
|
||||
});
|
||||
message.error('添加失败,请重试');
|
||||
} finally {
|
||||
setAddingToWatchlist(prev => ({ ...prev, [stockCode]: false }));
|
||||
|
||||
Reference in New Issue
Block a user