@@ -14,14 +14,18 @@ import (
1414 "github.com/flanksource/commons/logger"
1515)
1616
17+ // log is the package-scoped logger for session-history parsing. Its level
18+ // follows -v/--log-level and can be tuned with -Plog.level.history=debug.
19+ var log = logger .GetLogger ("history" )
20+
1721func NormalizePath (path string ) string {
1822 normalized := strings .ReplaceAll (path , "/" , "-" )
1923 return strings .ReplaceAll (normalized , "." , "-" )
2024}
2125
2226func FindSessionFiles (projectsDir , currentDir string , searchAll bool ) ([]string , error ) {
2327 if _ , err := os .Stat (projectsDir ); os .IsNotExist (err ) {
24- logger .Debugf ("Projects directory does not exist: %s" , projectsDir )
28+ log .Debugf ("Projects directory does not exist: %s" , projectsDir )
2529 return nil , nil
2630 }
2731
@@ -30,12 +34,12 @@ func FindSessionFiles(projectsDir, currentDir string, searchAll bool) ([]string,
3034 return nil , err
3135 }
3236
33- logger .Debugf ("Found %d project directories in %s" , len (entries ), projectsDir )
37+ log .Debugf ("Found %d project directories in %s" , len (entries ), projectsDir )
3438
3539 var normalized string
3640 if ! searchAll && currentDir != "" {
3741 normalized = NormalizePath (currentDir )
38- logger .Debugf ("Looking for directories matching: %s" , normalized )
42+ log .Debugf ("Looking for directories matching: %s" , normalized )
3943 }
4044
4145 var sessionFiles []string
@@ -50,20 +54,20 @@ func FindSessionFiles(projectsDir, currentDir string, searchAll bool) ([]string,
5054 if ! hasSuffixFold (entry .Name (), normalized ) {
5155 continue
5256 }
53- logger .Debugf ("Matched directory: %s" , entry .Name ())
57+ log .Debugf ("Matched directory: %s" , entry .Name ())
5458 }
5559
5660 matches , err := filepath .Glob (filepath .Join (projectPath , "*.jsonl" ))
5761 if err != nil {
58- logger .Warnf ("Error globbing session files in %s: %v" , projectPath , err )
62+ log .Warnf ("Error globbing session files in %s: %v" , projectPath , err )
5963 continue
6064 }
6165
62- logger .Debugf ("Found %d session files in %s" , len (matches ), projectPath )
66+ log .Debugf ("Found %d session files in %s" , len (matches ), projectPath )
6367 sessionFiles = append (sessionFiles , matches ... )
6468 }
6569
66- logger .Debugf ("Total session files found: %d" , len (sessionFiles ))
70+ log .Debugf ("Total session files found: %d" , len (sessionFiles ))
6771 return sessionFiles , nil
6872}
6973
@@ -93,7 +97,7 @@ func ExtractToolUses(sessionFile string) ([]ToolUse, error) {
9397
9498 var entry SessionEntry
9599 if err := json .Unmarshal ([]byte (line ), & entry ); err != nil {
96- logger .Debugf ("Error parsing line in %s: %v" , sessionFile , err )
100+ log .Debugf ("Error parsing line in %s: %v" , sessionFile , err )
97101 continue
98102 }
99103
@@ -232,7 +236,7 @@ func ParseHistory(currentDir string, searchAll bool, filter Filter) (*ParseResul
232236 for _ , f := range claudeFiles {
233237 toolUses , err := ExtractToolUses (f )
234238 if err != nil {
235- logger .Warnf ("Error extracting tool uses from %s: %v" , f , err )
239+ log .Warnf ("Error extracting tool uses from %s: %v" , f , err )
236240 continue
237241 }
238242 if len (toolUses ) > 0 {
@@ -245,13 +249,13 @@ func ParseHistory(currentDir string, searchAll bool, filter Filter) (*ParseResul
245249 if filter .Source == "" || filter .Source == "codex" {
246250 codexFiles , err := FindCodexSessionFiles ()
247251 if err != nil {
248- logger .Warnf ("Error finding codex sessions: %v" , err )
252+ log .Warnf ("Error finding codex sessions: %v" , err )
249253 } else {
250254 result .SessionsFound += len (codexFiles )
251255 for _ , f := range codexFiles {
252256 toolUses , err := ExtractCodexToolUses (f )
253257 if err != nil {
254- logger .Warnf ("Error extracting codex tool uses from %s: %v" , f , err )
258+ log .Warnf ("Error extracting codex tool uses from %s: %v" , f , err )
255259 continue
256260 }
257261 if len (toolUses ) > 0 {
0 commit comments