mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-01 02:05:00 +00:00
feat: Add logfile support to Analytics class
This commit is contained in:
parent
85fa78f5a6
commit
82250db8af
1 changed files with 18 additions and 3 deletions
|
@ -1,6 +1,7 @@
|
||||||
import json
|
import json
|
||||||
import platform
|
import platform
|
||||||
import sys
|
import sys
|
||||||
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
@ -11,7 +12,8 @@ from aider.dump import dump # noqa: F401
|
||||||
|
|
||||||
|
|
||||||
class Analytics:
|
class Analytics:
|
||||||
def __init__(self, track):
|
def __init__(self, track, logfile=None):
|
||||||
|
self.logfile = logfile
|
||||||
if not track:
|
if not track:
|
||||||
self.mp = None
|
self.mp = None
|
||||||
return
|
return
|
||||||
|
@ -43,7 +45,7 @@ class Analytics:
|
||||||
return new_uuid
|
return new_uuid
|
||||||
|
|
||||||
def event(self, event_name, main_model=None, **kwargs):
|
def event(self, event_name, main_model=None, **kwargs):
|
||||||
if not self.mp:
|
if not self.mp and not self.logfile:
|
||||||
return
|
return
|
||||||
|
|
||||||
properties = {}
|
properties = {}
|
||||||
|
@ -65,4 +67,17 @@ class Analytics:
|
||||||
properties[key] = str(value)
|
properties[key] = str(value)
|
||||||
|
|
||||||
properties["aider_version"] = __version__
|
properties["aider_version"] = __version__
|
||||||
self.mp.track(self.user_id, event_name, properties)
|
|
||||||
|
if self.mp:
|
||||||
|
self.mp.track(self.user_id, event_name, properties)
|
||||||
|
|
||||||
|
if self.logfile:
|
||||||
|
log_entry = {
|
||||||
|
"event": event_name,
|
||||||
|
"properties": properties,
|
||||||
|
"user_id": self.user_id,
|
||||||
|
"time": int(time.time())
|
||||||
|
}
|
||||||
|
with open(self.logfile, "a") as f:
|
||||||
|
json.dump(log_entry, f)
|
||||||
|
f.write("\n")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue