5
5
from django .utils import timezone as django_timezone
6
6
from .models import RSSFeed , RSSItem
7
7
import logfire
8
+ import logging
9
+
10
+ logger = logging .getLogger (__name__ )
8
11
9
12
10
13
@shared_task
@@ -25,10 +28,12 @@ def crawl_all_rss_feeds():
25
28
results ['processed_feeds' ] += 1
26
29
results ['new_items' ] += result .get ('new_items' , 0 )
27
30
logfire .info (f"Successfully crawled feed { feed .name } : { result .get ('new_items' , 0 )} new items" )
31
+ logger .info (f"Successfully crawled feed { feed .name } : { result .get ('new_items' , 0 )} new items" )
28
32
except Exception as e :
29
33
error_msg = f"Error crawling feed { feed .name } : { str (e )} "
30
34
results ['errors' ].append (error_msg )
31
35
logfire .error (error_msg )
36
+ logger .error (error_msg )
32
37
33
38
return results
34
39
@@ -41,13 +46,15 @@ def crawl_single_rss_feed(feed_id):
41
46
raise Exception (f"RSS Feed with id { feed_id } not found" )
42
47
43
48
logfire .info (f"Starting to crawl RSS feed: { feed .name } ({ feed .url } )" )
49
+ logger .info (f"Starting to crawl RSS feed: { feed .name } ({ feed .url } )" )
44
50
45
51
try :
46
52
# RSS 피드 파싱
47
53
parsed_feed = feedparser .parse (feed .url )
48
54
49
55
if parsed_feed .bozo :
50
56
logfire .warning (f"RSS feed { feed .name } has parsing issues: { parsed_feed .bozo_exception } " )
57
+ logger .warning (f"RSS feed { feed .name } has parsing issues: { parsed_feed .bozo_exception } " )
51
58
52
59
new_items_count = 0
53
60
@@ -58,6 +65,7 @@ def crawl_single_rss_feed(feed_id):
58
65
59
66
if not guid and not link :
60
67
logfire .warning (f"Skipping entry without GUID or link in feed { feed .name } " )
68
+ logger .warning (f"Skipping entry without GUID or link in feed { feed .name } " )
61
69
continue
62
70
63
71
# 중복 체크
@@ -97,9 +105,11 @@ def crawl_single_rss_feed(feed_id):
97
105
)
98
106
new_items_count += 1
99
107
logfire .debug (f"Created new RSS item: { rss_item .title } " )
108
+ logger .debug (f"Created new RSS item: { rss_item .title } " )
100
109
101
110
except Exception as e :
102
111
logfire .error (f"Error creating RSS item for { link } : { str (e )} " )
112
+ logger .error (f"Error creating RSS item for { link } : { str (e )} " )
103
113
continue
104
114
105
115
# 마지막 크롤링 시간 업데이트
@@ -113,6 +123,7 @@ def crawl_single_rss_feed(feed_id):
113
123
}
114
124
115
125
logfire .info (f"Completed crawling { feed .name } : { new_items_count } new items out of { len (parsed_feed .entries )} total entries" )
126
+ logger .info (f"Completed crawling { feed .name } : { new_items_count } new items out of { len (parsed_feed .entries )} total entries" )
116
127
return result
117
128
118
129
except requests .RequestException as e :
0 commit comments