arkavo-org / arkavo-org/app

🟡 MEDIUM: Replace print statements with structured logging

Open
#216 0 comments 0 reactions 0 assignees View on GitHub
tech debt
Dominant language
Swift
Stars
0
Forks
0
Avg merge
1h 41m
Merged PRs (30d)
1

Description

## Problem

The codebase uses `print()` statements for logging instead of structured logging.

## Examples Found

```swift
// AuthenticationManager.swift
print("Error getting public key data: \(error!.takeRetainedValue() as Error)")

// ArkavoMessageRouter.swift
print("Error: \(error)")

// Multiple files
print("Debug: ...")
```

## Issues

1. **No log levels** - Cannot filter by severity
2. **No context** - Missing file, line, function info
3. **Production exposure** - Sensitive data may be logged
4. **No aggregation** - Cannot collect logs for debugging

## Note

A `SecureLogger.swift` utility exists but is not consistently used.

## Solution

1. Audit all `print()` statements
2. Replace with `SecureLogger` calls
3. Add appropriate log levels (debug, info, warning, error)
4. Ensure sensitive data is redacted in production

## Acceptance Criteria

- [ ] Zero `print()` statements in production code
- [ ] All logs use SecureLogger
- [ ] Log levels appropriate for each message
- [ ] Sensitive data redacted

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing SecureLogger.swift and auditing the print() examples in AuthenticationManager.swift and ArkavoMessageRouter.swift, then search the production codebase for other print() calls. Replace each with an appropriate SecureLogger level, verify sensitive values are redacted, and confirm no production print() statements remain.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
observability, security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.