refactor: redesign logging system for CLI-friendly output (#561)

* refactor: redesign logging system for CLI-friendly output
* refactor: remove ANSI color support from logger
* fix: address PR review feedback
This commit is contained in:
Roger
2026-04-07 16:50:01 +08:00
committed by GitHub
parent a0b4412bf2
commit 5f42d4fe5f
13 changed files with 287 additions and 199 deletions
+9 -2
View File
@@ -37,6 +37,8 @@ func extractPasswords(masterKey []byte, path string) ([]types.LoginEntry, error)
}
var logins []types.LoginEntry
var decryptFails int
var lastErr error
for _, v := range gjson.GetBytes(data, "logins").Array() {
url := v.Get("formSubmitURL").String()
if url == "" {
@@ -45,11 +47,13 @@ func extractPasswords(masterKey []byte, path string) ([]types.LoginEntry, error)
user, err := decryptPBE(v.Get("encryptedUsername").String(), masterKey)
if err != nil {
log.Debugf("decrypt firefox username for %s: %v", url, err)
decryptFails++
lastErr = err
}
pwd, err := decryptPBE(v.Get("encryptedPassword").String(), masterKey)
if err != nil {
log.Debugf("decrypt firefox password for %s: %v", url, err)
decryptFails++
lastErr = err
}
logins = append(logins, types.LoginEntry{
@@ -59,6 +63,9 @@ func extractPasswords(masterKey []byte, path string) ([]types.LoginEntry, error)
CreatedAt: timestamp(v.Get("timeCreated").Int() / 1000),
})
}
if decryptFails > 0 {
log.Debugf("decrypt firefox login fields: %d failed: %v", decryptFails, lastErr)
}
sort.Slice(logins, func(i, j int) bool {
return logins[i].CreatedAt.After(logins[j].CreatedAt)
-1
View File
@@ -188,7 +188,6 @@ type resolvedPath struct {
func discoverProfiles(userDataDir string, sources map[types.Category][]sourcePath) []string {
entries, err := os.ReadDir(userDataDir)
if err != nil {
log.Debugf("read user data dir %s: %v", userDataDir, err)
return nil
}