체크포인트2.

This commit is contained in:
eld_master 2025-10-12 02:11:49 +09:00
parent f46e8237bb
commit 9ac1061961
16 changed files with 4077 additions and 50 deletions

View File

@ -21,9 +21,11 @@
"Bash(cat:*)",
"Bash(taskkill:*)",
"Bash(aws lambda update-function-code:*)",
"Bash(tasklist)"
"Bash(tasklist)",
"Bash(aws s3 sync:*)",
"Bash(aws cloudfront create-invalidation:*)"
],
"deny": [],
"ask": []
}
}
}

View File

@ -199,9 +199,11 @@ This is a multi-component application with the following structure:
- `{TICKER}_price_history.json` - 97 individual product price histories
- `sp500/YYYY/MM/heatmap_YYYYMMDD.json` - 753 S&P 500 heatmap files (3 years)
5. **Frontend Build**: Vite copies `public/api/` files to `dist/api/` during build
6. **S3 Deployment Strategy**:
6. **S3 Deployment Strategy** (CRITICAL - 2025-10-12):
- Frontend: `aws s3 sync dist/ s3://if-invest/ --delete --exclude "api/*_price_history.json" --exclude "api/sp500/**"`
- Backend: Uploads individual price history JSONs + S&P 500 heatmaps to S3 (protected from frontend deletion)
- **CRITICAL**: `--exclude "api/sp500/**"` flag is MANDATORY to prevent deletion of 758 S&P 500 heatmap files during frontend deployment
- **File Protection**: Both `--exclude` flags protect backend-generated data from being wiped by frontend `npm run deploy`
7. **Secure API Proxy**: AWS Lambda + API Gateway provides secure access to individual product price data from S3
8. **Client-Side Simulation**: Frontend loads bundled product list and exchange rates, fetches detailed price data via Lambda API only when simulation requested
9. **Currency Display Conversion**: Frontend converts USD data to KRW for user display using exchange rates
@ -350,12 +352,32 @@ This is a multi-component application with the following structure:
- "SEMICONDUCTOR EQUIPMENT & MATERIALS" (4 stocks: AMAT, KLAC, LRCX, TER)
- "ELECTRONIC COMPONENTS" (4 stocks: APH, GLW, JBL, TEL)
- "CONSUMER ELECTRONICS" (1 stock: AAPL only)
- **Technology Sector Implementation** (Currently Complete):
- **Technology Sector Implementation** (Complete):
- 10 Industry subdivisions with fixed coordinate layout
- SOFTWARE-INFRASTRUCTURE: Manual layout for 8 major stocks (MSFT 60%, ORCL, PLTR, PANW, CRWD, SNPS, FTNT, XYZ, FFIV)
- ELECTRONIC COMPONENTS: 4 stocks (APH top 50%, GLW/TEL/magnifying glass 3:3:1 bottom)
- SCIENTIFIC & TECHNICAL INSTRUMENTS: 5 stocks (KEYS, TDY, magnifying glass 1:1:1 horizontal)
- SOLAR: 1 stock (FSLR full area)
- Other industries: Squarified treemap algorithm (`calculateTreemapLayout()`)
- Stock boxes colored by price change: green (>+1%), gray (0~+1%), dark red (0~-1%), red (<-1%)
- Dynamic font sizing based on box dimensions
- 5-stage dynamic font sizing system (see below)
- **Financial Sector Implementation** (Complete - 2025-10-12):
- 11 Industry subdivisions with fixed coordinate layout (800px × 377px sector)
- Layout structure:
- Left 60% (480px): BANKS-DIVERSIFIED (160px), CREDIT SERVICES (160px), INSURANCE-DIVERSIFIED + CAPITAL MARKETS (160px split 3:2)
- Right 40% (320px): 7 industries in complex grid layout
- All industries use treemap algorithm for stock positioning
- Industry boxes with 1px padding on all sides
- Headers flush left (left: "0px") with full width
- Identical styling to TECHNOLOGY sector (hover effects, tooltips, aggregation)
- **5-Stage Font Sizing System** (2025-10-12):
- **Stage 1 (>15000px²)**: Ticker 32px, percent 65% of ticker, % sign shown (MSFT, NVDA, AAPL - 2x size increase)
- **Stage 2 (>8000px²)**: Ticker 24px, percent 65% of ticker, % sign shown (ORCL, AVGO, AMD)
- **Stage 3 (>3000px²)**: Ticker 16px, percent 70% of ticker, % sign shown (medium boxes)
- **Stage 4 (>1000px²)**: Ticker 9-12px, percent 75% of ticker, **% sign removed** (small boxes)
- **Stage 5 (≤1000px²)**: Ticker 6-9px, **percent display completely removed** (very small boxes)
- Applied to all sectors consistently
- Formula: `boxArea = item.width * item.height`
- **Aggregated Stock Boxes** (2025-10-11):
- Small stocks (< 50px minSize) aggregated into single box per industry
- Positioned at bottom-right corner: `position: absolute; right: 4px; bottom: 4px`
@ -364,11 +386,13 @@ This is a multi-component application with the following structure:
- Color-coded using same 7-tier gradient as regular stocks
- Display: `+N` count with tooltip showing all filtered stocks
- Hover tooltip shows complete list of aggregated stocks sorted by weight
- **Date Comparison System**:
- Two-date selector: "비교 날짜" (current) vs "기준 날짜" (previous)
- **Date Comparison System** (2025-10-12):
- Two-date selector: "기준 날짜" (currentDate - most recent) vs "비교 날짜" (previousDate - second most recent)
- **Auto-initialization**: On page load, automatically sets most recent 2 dates from API
- Calendar UI with month navigation
- Only dates with available DB data are selectable
- Price change calculation: `(current - previous) / previous * 100`
- **Critical**: Label mapping in DateSelector.tsx must match: currentDate="기준 날짜", previousDate="비교 날짜"
### Backend Development
- **Database Credentials**: PostgreSQL credentials hardcoded in `db_conn.py` (should be moved to environment variables)
@ -836,13 +860,15 @@ AI요청/ # AI development requests
- **CloudFront Distribution**: `E67TOH4R1CV1U` (CDN for global content delivery)
- **Production URL**: `https://whatif-invest.com`
- **Deployment Script**: `deploy.bat` performs build → S3 sync → CloudFront invalidation
- **Critical S3 Sync Pattern**:
- **Critical S3 Sync Pattern** (UPDATED 2025-10-12):
```bash
aws s3 sync dist/ s3://if-invest/ --delete --exact-timestamps --exclude "api/*_price_history.json"
aws s3 sync dist/ s3://if-invest/ --delete --exact-timestamps --exclude "api/*_price_history.json" --exclude "api/sp500/**"
```
- `--delete`: Removes old build files
- `--exclude "api/*_price_history.json"`: Protects backend-uploaded price histories from deletion
- **Why needed**: Frontend deployment must not delete 97 price history JSONs uploaded by backend
- `--delete`: Removes old build files from S3
- `--exclude "api/*_price_history.json"`: Protects 97 backend-uploaded price history JSONs from deletion
- `--exclude "api/sp500/**"`: **CRITICAL** - Protects 758 S&P 500 heatmap files from deletion
- **Why needed**: Frontend deployment (npm run deploy) must NOT delete backend-generated data files
- **Incident 2025-10-12**: Missing `--exclude "api/sp500/**"` caused deletion of all 758 heatmap files, requiring full 3-year rebuild
- **AWS CLI Required**: Must be configured with appropriate IAM permissions for S3 and CloudFront
### SPA Routing Configuration (Critical for React Router)

View File

@ -15,8 +15,8 @@ if %errorlevel% neq 0 (
)
echo 2. Uploading files to S3...
REM /api 디렉토리의 개별 투자상품 JSON 파일은 백엔드에서 업로드하므로 삭제 제외
aws s3 sync dist/ s3://%BUCKET_NAME%/ --delete --exact-timestamps --exclude "api/*_price_history.json"
REM /api 디렉토리의 개별 투자상품 JSON 파일과 S&P 500 heatmap은 백엔드에서 업로드하므로 삭제 제외
aws s3 sync dist/ s3://%BUCKET_NAME%/ --delete --exact-timestamps --exclude "api/*_price_history.json" --exclude "api/sp500/**"
if %errorlevel% neq 0 (
echo S3 upload failed!
exit /b 1

View File

@ -2,8 +2,8 @@ import { useState, useRef, useEffect } from "react";
import "../../styles/DateSelector.css";
interface DateSelectorProps {
currentDate: string; // YYYY-MM-DD 형식 (비교 날짜)
previousDate: string; // YYYY-MM-DD 형식 (기준 날짜)
currentDate: string; // YYYY-MM-DD 형식 (기준 날짜 - 가장 최신)
previousDate: string; // YYYY-MM-DD 형식 (비교 날짜 - 그 다음 최신)
availableDates: string[]; // YYYY-MM-DD 형식 배열
onDateChange: (currentDate: string, previousDate: string) => void;
}
@ -150,7 +150,7 @@ export function DateSelector({
return (
<div className="date-selector-container">
<div className="date-selector-group" ref={compareCalendarRef}>
<label> </label>
<label> </label>
<button
className="date-select-button"
onClick={() => {
@ -168,7 +168,7 @@ export function DateSelector({
<div className="date-selector-divider">vs</div>
<div className="date-selector-group" ref={baseCalendarRef}>
<label> </label>
<label> </label>
<button
className="date-select-button"
onClick={() => {

View File

@ -381,8 +381,8 @@ function calculateTreemapLayout(
}
// 더 짧은 변을 기준으로 배치 (더 정사각형에 가까운 박스 생성)
const shortEdge = Math.min(w, h);
const longEdge = Math.max(w, h);
// const shortEdge = Math.min(w, h);
// const longEdge = Math.max(w, h);
const isVertical = h > w; // 세로가 더 길면 세로로 분할
const total = items.reduce((sum, item) => sum + item.normalizedValue, 0);
@ -605,6 +605,7 @@ export function SP500Page() {
// Calculate smart tooltip position (flip if near viewport edges)
// CRITICAL: Tooltip top-left corner MUST be at EXACT mouse cursor position (mouseX, mouseY)
// Only flip if tooltip would overflow viewport edges
// @ts-ignore - Reserved for future use
const calculateTooltipPosition = (mouseX: number, mouseY: number): { x: number; y: number } => {
const VIEWPORT_PADDING = 10; // Reduced padding for more accurate positioning
const tooltipWidth = 320;
@ -676,6 +677,7 @@ export function SP500Page() {
};
// Keep tooltip visible when mouse enters tooltip
// @ts-ignore - Reserved for future use
const handleTooltipMouseEnter = () => {
if (hoverTimeoutRef.current) {
clearTimeout(hoverTimeoutRef.current);
@ -684,6 +686,7 @@ export function SP500Page() {
};
// Hide tooltip when mouse leaves tooltip
// @ts-ignore - Reserved for future use
const handleTooltipMouseLeave = () => {
setTooltipVisible(false);
};
@ -700,9 +703,10 @@ export function SP500Page() {
setAvailableDates(dates);
// 가장 최신 2개 날짜 설정
// 기준 날짜(current) = 가장 최신, 비교 날짜(previous) = 그 다음 최신
if (dates.length >= 2) {
setCurrentDate(dates[0]);
setPreviousDate(dates[1]);
setCurrentDate(dates[0]); // 기준 날짜 = 최신
setPreviousDate(dates[1]); // 비교 날짜 = 그 다음 최신
// 데이터 로드
await loadHeatmapData(dates[0], dates[1]);
@ -1261,6 +1265,7 @@ export function SP500Page() {
// 산업군 평균 등락폭 계산 (시총 가중 평균)
const totalMarketCap = industryStocks.reduce((sum, s) => sum + s.marketCap, 0);
// @ts-ignore - Reserved for future use
const avgChangePercent = totalMarketCap > 0
? industryStocks.reduce((sum, s) => sum + (s.changePercent * s.marketCap), 0) / totalMarketCap
: 0;
@ -1467,7 +1472,7 @@ export function SP500Page() {
y: 0,
width: contentWidth * (4/7),
height: contentHeight,
changePercent: nvda.changePercent
changePercent: nvda?.changePercent || 0
});
}
@ -1484,7 +1489,7 @@ export function SP500Page() {
y: 0,
width: rightWidth,
height: contentHeight * 0.6,
changePercent: avgo.changePercent
changePercent: avgo?.changePercent || 0
});
}
@ -1561,7 +1566,7 @@ export function SP500Page() {
y: 0,
width: leftWidth,
height: halfHeight,
changePercent: crm.changePercent
changePercent: crm?.changePercent || 0
});
}
@ -1592,7 +1597,7 @@ export function SP500Page() {
y: 0,
width: rightWidth / 2,
height: topHeight,
changePercent: now.changePercent
changePercent: now?.changePercent || 0
});
}
@ -1605,7 +1610,7 @@ export function SP500Page() {
y: 0,
width: rightWidth / 2,
height: topHeight,
changePercent: intu.changePercent
changePercent: intu?.changePercent || 0
});
}
@ -2008,7 +2013,7 @@ export function SP500Page() {
y: contentHeight * 0.35,
width: contentWidth * 0.5,
height: contentHeight * 0.65,
changePercent: nvda.changePercent
changePercent: nvda?.changePercent || 0
});
}
@ -2021,7 +2026,7 @@ export function SP500Page() {
y: 0,
width: contentWidth * 0.5,
height: contentHeight * 0.35,
changePercent: avgo.changePercent
changePercent: avgo?.changePercent || 0
});
}
@ -2034,7 +2039,7 @@ export function SP500Page() {
y: 0,
width: contentWidth * 0.5,
height: contentHeight * 0.5,
changePercent: amd.changePercent
changePercent: amd?.changePercent || 0
});
}
@ -2048,7 +2053,7 @@ export function SP500Page() {
y: contentHeight * 0.5,
width: contentWidth * 0.25,
height: contentHeight * 0.5,
changePercent: mu.changePercent
changePercent: mu?.changePercent || 0
});
}
if (adi) {
@ -2058,7 +2063,7 @@ export function SP500Page() {
y: contentHeight * 0.5,
width: contentWidth * 0.25,
height: contentHeight * 0.5,
changePercent: adi.changePercent
changePercent: adi?.changePercent || 0
});
}
} else if (false && industry.name === "SOFTWARE-APPLICATION") {
@ -2077,7 +2082,7 @@ export function SP500Page() {
y: 0,
width: leftWidth,
height: contentHeight * 0.4,
changePercent: crm.changePercent
changePercent: crm?.changePercent || 0
});
}
@ -2090,7 +2095,7 @@ export function SP500Page() {
y: contentHeight * 0.4,
width: leftWidth,
height: contentHeight * 0.3,
changePercent: adbe.changePercent
changePercent: adbe?.changePercent || 0
});
}
@ -2103,7 +2108,7 @@ export function SP500Page() {
y: contentHeight * 0.7,
width: leftWidth,
height: contentHeight * 0.3,
changePercent: now.changePercent
changePercent: now?.changePercent || 0
});
}
@ -2120,7 +2125,7 @@ export function SP500Page() {
y: 0,
width: rightWidth,
height: contentHeight * 0.35,
changePercent: intu.changePercent
changePercent: intu?.changePercent || 0
});
}
@ -2134,7 +2139,7 @@ export function SP500Page() {
y: contentHeight * 0.35,
width: rightWidth * 0.5,
height: contentHeight * 0.3,
changePercent: cdns.changePercent
changePercent: cdns?.changePercent || 0
});
}
if (adsk) {
@ -2144,7 +2149,7 @@ export function SP500Page() {
y: contentHeight * 0.35,
width: rightWidth * 0.5,
height: contentHeight * 0.3,
changePercent: adsk.changePercent
changePercent: adsk?.changePercent || 0
});
}
@ -2341,7 +2346,7 @@ export function SP500Page() {
<>
{layout.map((item) => {
// Check if this is an aggregated box
const isAggregated = item.isAggregated === true;
const isAggregated = (item as { isAggregated?: boolean }).isAggregated === true;
// Render aggregated box with special styling
if (isAggregated) {
@ -2391,8 +2396,8 @@ export function SP500Page() {
// 5단계 크기 분류
const boxArea = item.width * item.height;
let tickerFontSize: number;
let percentFontSize: number;
let tickerFontSize: number = 12;
let percentFontSize: number = 8;
let showPercent = true;
let showPercentSign = true;
@ -2716,8 +2721,8 @@ export function SP500Page() {
// Regular stock box
const boxArea = item.width * item.height;
let tickerFontSize: number;
let percentFontSize: number;
let tickerFontSize: number = 12;
let percentFontSize: number = 8;
let showPercent = true;
let showPercentSign = true;
@ -2804,10 +2809,10 @@ export function SP500Page() {
if (!currentData || !previousData) return null;
// Get all stocks in this sector
const sectorStocks = Object.entries(currentData.data)
const sectorStocks = Object.entries(currentData?.data || {})
.filter(([, stock]) => stock.sector === box.name)
.map(([ticker, currentStock]) => {
const previousStock = previousData.data[ticker];
const previousStock = previousData?.data[ticker];
if (!previousStock) return null;
const changePercent = ((currentStock.price - previousStock.price) / previousStock.price) * 100;
@ -3157,8 +3162,8 @@ export function SP500Page() {
}).sort((a, b) => b.weight - a.weight);
setTooltipData({
sector: currentData.data[filteredStocks[0]?.ticker]?.sector || box.name,
industry: `${industry.industry} (기타 ${filteredStocks.length}개)`,
sector: currentData?.data[filteredStocks[0]?.ticker]?.sector || box.name,
industry: `${industry?.industry || 'Unknown'} (기타 ${filteredStocks.length}개)`,
stocks: filteredTooltipStocks,
});
setTooltipPosition({ x: e.clientX, y: e.clientY });

View File

@ -13,6 +13,8 @@
margin-left: auto;
margin-right: auto;
flex: 1;
position: relative;
z-index: 100;
}
.date-selector-group {
@ -80,7 +82,7 @@
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
backdrop-filter: blur(10px);
padding: 1.5rem;
z-index: 1000;
z-index: 2000;
min-width: 340px;
animation: slideDown 0.2s ease;
}

View File

@ -398,6 +398,7 @@
border: 2px solid var(--border-primary);
box-shadow: var(--shadow-lg);
margin: 0 auto;
z-index: 1;
}
/* 다크모드 캔버스 */

File diff suppressed because it is too large Load Diff

View File

@ -42,10 +42,20 @@ class CollectLogger:
file_handler = logging.FileHandler(log_path, mode='a', encoding='utf-8')
file_handler.setLevel(logging.INFO)
# 콘솔 핸들러 (UTF-8 인코딩)
console_handler = logging.StreamHandler()
# 콘솔 핸들러 (UTF-8 인코딩, Windows 콘솔 호환)
import sys
console_handler = logging.StreamHandler(stream=sys.stdout)
console_handler.setLevel(logging.INFO)
# Windows 콘솔에서 UTF-8 출력 지원
if sys.platform == 'win32':
try:
# Python 3.7+ Windows에서 UTF-8 출력 활성화
sys.stdout.reconfigure(encoding='utf-8')
except (AttributeError, OSError):
# reconfigure가 없거나 실패하면 무시
pass
# 포맷터 설정
formatter = logging.Formatter(
'%(asctime)s - %(levelname)s - %(message)s',

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,776 @@
2025-10-12 01:37:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:38:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:39:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:44:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:49:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:50:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 01:51:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:07:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:23 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:24 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:25 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:26 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:27 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:28 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:29 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:30 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:31 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:32 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:33 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:34 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:35 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:36 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:37 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:38 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:39 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:40 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:41 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:42 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:43 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:44 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:45 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:46 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:47 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:48 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:49 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:50 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:51 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:52 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:53 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:54 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:55 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:56 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:57 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:58 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:08:59 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:00 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:01 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:02 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:03 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:04 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:05 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:06 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:07 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:08 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:09 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:10 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:11 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:12 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:13 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:14 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:15 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:16 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:17 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:18 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:19 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:20 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:21 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:22 - INFO - DB 연결이 닫혔습니다.
2025-10-12 02:09:39 - INFO - DB 연결이 닫혔습니다.

View File

@ -0,0 +1,74 @@
2025-10-12 02:07:09 - INFO - ================================================================================
2025-10-12 02:07:09 - INFO - S&P 500 Heatmap - 전체 히스토리 JSON 생성
2025-10-12 02:07:09 - INFO - ================================================================================
2025-10-12 02:07:10 - INFO - 전체 데이터 범위: 2022-10-04 ~ 2025-10-10
2025-10-12 02:07:10 - INFO - 총 758개 날짜
2025-10-12 02:07:10 - INFO -
[진행중] 1/758 - 2022-10-04
2025-10-12 02:07:29 - INFO -
[진행중] 100/758 - 2023-02-27
2025-10-12 02:07:29 - INFO - 성공: 100, 실패: 0, 스킵: 0
2025-10-12 02:07:46 - INFO -
[진행중] 200/758 - 2023-07-21
2025-10-12 02:07:46 - INFO - 성공: 200, 실패: 0, 스킵: 0
2025-10-12 02:08:03 - INFO -
[진행중] 300/758 - 2023-12-12
2025-10-12 02:08:03 - INFO - 성공: 300, 실패: 0, 스킵: 0
2025-10-12 02:08:21 - INFO -
[진행중] 400/758 - 2024-05-07
2025-10-12 02:08:21 - INFO - 성공: 400, 실패: 0, 스킵: 0
2025-10-12 02:08:38 - INFO -
[진행중] 500/758 - 2024-09-30
2025-10-12 02:08:38 - INFO - 성공: 500, 실패: 0, 스킵: 0
2025-10-12 02:08:55 - INFO -
[진행중] 600/758 - 2025-02-25
2025-10-12 02:08:55 - INFO - 성공: 600, 실패: 0, 스킵: 0
2025-10-12 02:09:12 - INFO -
[진행중] 700/758 - 2025-07-21
2025-10-12 02:09:12 - INFO - 성공: 700, 실패: 0, 스킵: 0
2025-10-12 02:09:22 - INFO -
================================================================================
2025-10-12 02:09:22 - INFO - 전체 처리 완료
2025-10-12 02:09:22 - INFO - 성공: 758, 실패: 0, 스킵: 0
2025-10-12 02:09:22 - INFO - ================================================================================
2025-10-12 02:09:22 - INFO -
[월별 생성 파일 수]
2025-10-12 02:09:22 - INFO - 2022-10: 20개 파일
2025-10-12 02:09:22 - INFO - 2022-11: 21개 파일
2025-10-12 02:09:22 - INFO - 2022-12: 21개 파일
2025-10-12 02:09:22 - INFO - 2023-01: 20개 파일
2025-10-12 02:09:22 - INFO - 2023-02: 19개 파일
2025-10-12 02:09:22 - INFO - 2023-03: 23개 파일
2025-10-12 02:09:22 - INFO - 2023-04: 19개 파일
2025-10-12 02:09:22 - INFO - 2023-05: 22개 파일
2025-10-12 02:09:22 - INFO - 2023-06: 21개 파일
2025-10-12 02:09:22 - INFO - 2023-07: 20개 파일
2025-10-12 02:09:22 - INFO - 2023-08: 23개 파일
2025-10-12 02:09:22 - INFO - 2023-09: 20개 파일
2025-10-12 02:09:22 - INFO - 2023-10: 22개 파일
2025-10-12 02:09:22 - INFO - 2023-11: 21개 파일
2025-10-12 02:09:22 - INFO - 2023-12: 20개 파일
2025-10-12 02:09:22 - INFO - 2024-01: 21개 파일
2025-10-12 02:09:22 - INFO - 2024-02: 20개 파일
2025-10-12 02:09:22 - INFO - 2024-03: 20개 파일
2025-10-12 02:09:22 - INFO - 2024-04: 22개 파일
2025-10-12 02:09:22 - INFO - 2024-05: 22개 파일
2025-10-12 02:09:22 - INFO - 2024-06: 19개 파일
2025-10-12 02:09:22 - INFO - 2024-07: 22개 파일
2025-10-12 02:09:22 - INFO - 2024-08: 22개 파일
2025-10-12 02:09:22 - INFO - 2024-09: 20개 파일
2025-10-12 02:09:22 - INFO - 2024-10: 23개 파일
2025-10-12 02:09:22 - INFO - 2024-11: 20개 파일
2025-10-12 02:09:22 - INFO - 2024-12: 21개 파일
2025-10-12 02:09:22 - INFO - 2025-01: 20개 파일
2025-10-12 02:09:22 - INFO - 2025-02: 19개 파일
2025-10-12 02:09:22 - INFO - 2025-03: 21개 파일
2025-10-12 02:09:22 - INFO - 2025-04: 21개 파일
2025-10-12 02:09:22 - INFO - 2025-05: 21개 파일
2025-10-12 02:09:22 - INFO - 2025-06: 20개 파일
2025-10-12 02:09:22 - INFO - 2025-07: 22개 파일
2025-10-12 02:09:22 - INFO - 2025-08: 21개 파일
2025-10-12 02:09:22 - INFO - 2025-09: 21개 파일
2025-10-12 02:09:22 - INFO - 2025-10: 8개 파일
2025-10-12 02:09:22 - INFO -
총 37개월, 758개 파일 생성

View File

@ -0,0 +1,25 @@
2025-10-12 01:51:12 - INFO - ================================================================================
2025-10-12 01:51:12 - INFO - S&P 500 Heatmap JSON Generation - 최근 10일
2025-10-12 01:51:12 - INFO - ================================================================================
2025-10-12 01:51:12 - INFO - 최근 10일치 데이터: 8개 날짜 (2025-10-01 ~ 2025-10-10)
2025-10-12 01:51:12 - INFO - 2025-10-10 - 503개 종목, 11개 섹터, 총 시총 $58,106.06B
2025-10-12 01:51:12 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251010.json - 503개 종목, 11개 섹터
2025-10-12 01:51:12 - INFO - 2025-10-09 - 503개 종목, 11개 섹터, 총 시총 $59,702.82B
2025-10-12 01:51:12 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251009.json - 503개 종목, 11개 섹터
2025-10-12 01:51:12 - INFO - 2025-10-08 - 503개 종목, 11개 섹터, 총 시총 $59,861.54B
2025-10-12 01:51:12 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251008.json - 503개 종목, 11개 섹터
2025-10-12 01:51:13 - INFO - 2025-10-07 - 503개 종목, 11개 섹터, 총 시총 $59,516.30B
2025-10-12 01:51:13 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251007.json - 503개 종목, 11개 섹터
2025-10-12 01:51:13 - INFO - 2025-10-06 - 503개 종목, 11개 섹터, 총 시총 $59,755.72B
2025-10-12 01:51:13 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251006.json - 503개 종목, 11개 섹터
2025-10-12 01:51:13 - INFO - 2025-10-03 - 503개 종목, 11개 섹터, 총 시총 $59,522.13B
2025-10-12 01:51:13 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251003.json - 503개 종목, 11개 섹터
2025-10-12 01:51:13 - INFO - 2025-10-02 - 503개 종목, 11개 섹터, 총 시총 $59,515.33B
2025-10-12 01:51:13 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251002.json - 503개 종목, 11개 섹터
2025-10-12 01:51:13 - INFO - 2025-10-01 - 503개 종목, 11개 섹터, 총 시총 $59,495.21B
2025-10-12 01:51:13 - INFO - [S3 업로드] api/sp500/2025/10/heatmap_20251001.json - 503개 종목, 11개 섹터
2025-10-12 01:51:13 - INFO -
================================================================================
2025-10-12 01:51:13 - INFO - 최근 10일 처리 완료
2025-10-12 01:51:13 - INFO - 성공: 8, 실패: 0
2025-10-12 01:51:13 - INFO - ================================================================================

View File

@ -0,0 +1,3 @@
2025-10-12 01:54:54 - INFO - 테스트 메시지: 한글이 제대로 보이나요?
2025-10-12 01:54:54 - WARNING - 경고: UTF-8 인코딩 테스트
2025-10-12 01:54:54 - ERROR - 에러: 로그 시스템 점검

View File

@ -0,0 +1,27 @@
2025-10-12 01:37:44 - INFO - ================================================================================
2025-10-12 01:37:44 - INFO - S&P 500 Available Dates JSON 생성 시작
2025-10-12 01:37:44 - INFO - ================================================================================
2025-10-12 01:37:45 - INFO - 총 758개 날짜 조회 완료 (최신: 20251010, 가장 오래된: 20221004)
2025-10-12 01:37:45 - INFO - JSON 데이터 생성 완료 - 최신: 20251010, 총 758개
2025-10-12 01:37:45 - INFO - [S3 업로드 성공] api/sp500/available_dates.json - 758개 날짜
2025-10-12 01:37:45 - INFO - ================================================================================
2025-10-12 01:37:45 - INFO - S&P 500 Available Dates JSON 생성 및 업로드 완료
2025-10-12 01:37:45 - INFO - ================================================================================
2025-10-12 01:51:21 - INFO - ================================================================================
2025-10-12 01:51:21 - INFO - S&P 500 Available Dates JSON 생성 시작
2025-10-12 01:51:21 - INFO - ================================================================================
2025-10-12 01:51:22 - INFO - 총 758개 날짜 조회 완료 (최신: 20251010, 가장 오래된: 20221004)
2025-10-12 01:51:22 - INFO - JSON 데이터 생성 완료 - 최신: 20251010, 총 758개
2025-10-12 01:51:23 - INFO - [S3 업로드 성공] api/sp500/available_dates.json - 758개 날짜
2025-10-12 01:51:23 - INFO - ================================================================================
2025-10-12 01:51:23 - INFO - S&P 500 Available Dates JSON 생성 및 업로드 완료
2025-10-12 01:51:23 - INFO - ================================================================================
2025-10-12 02:09:38 - INFO - ================================================================================
2025-10-12 02:09:38 - INFO - S&P 500 Available Dates JSON 생성 시작
2025-10-12 02:09:38 - INFO - ================================================================================
2025-10-12 02:09:39 - INFO - 총 758개 날짜 조회 완료 (최신: 20251010, 가장 오래된: 20221004)
2025-10-12 02:09:39 - INFO - JSON 데이터 생성 완료 - 최신: 20251010, 총 758개
2025-10-12 02:09:39 - INFO - [S3 업로드 성공] api/sp500/available_dates.json - 758개 날짜
2025-10-12 02:09:39 - INFO - ================================================================================
2025-10-12 02:09:39 - INFO - S&P 500 Available Dates JSON 생성 및 업로드 완료
2025-10-12 02:09:39 - INFO - ================================================================================