본문 바로가기

기타/LogPulse

[LogPulse] 안드로이드 개발자가 로그 뷰어를 직접 만든 이유 (ft. AI Coding)

반응형

현업 안드로이드 개발자라면 하루 중 가장 많은 시간을 Logcat과 보냅니다. 하지만 앱의 규모가 커지고 시스템과의 상호작용이 복잡해질수록, 기존 로그 뷰어만으로는 업무 흐름을 따라가기 벅차다는 생각이 들 때가 많았습니다. 그래서 이번에 LogPulse라는 이름의 로그 분석 도구를 직접 만들어 보았습니다.

1. "내 앱" 너머의 컨텍스트를 조망하기

안드로이드 스튜디오의 Logcat은 '내 앱'의 실시간 디버깅에는 훌륭한 도구입니다. 하지만 실제 현업의 복잡한 이슈들은 결코 내 앱 안에서만 일어나지 않습니다.

  • AOSP(시스템) 레이어의 이벤트가 내 앱에 어떤 영향을 주었는가?
  • 타사 앱이나 시스템 서비스와 상호작용하는 과정에서 무엇이 꼬였는가?
  • 클라이언트와 서버의 로그를 하나의 타임라인으로 합쳐서 볼 수는 없는가?

결국 여러 파일을 열어 타임스탬프를 일일이 대조하는 저 자신을 보며, 파편화된 정보를 모아 시스템 전체를 다각도로 조망할 수 있는 툴의 필요성을 절실히 느꼈습니다.

2. 사후 분석(Post-mortem)과 비즈니스 흐름 추적

실시간 디버깅만큼이나 중요한 것은 이미 발생한 이슈를 분석하는 일입니다. 수만 줄의 로그 파일에서 특정 비즈니스 로직의 흐름(Flow)을 찾아내고, 어디서 로직이 이탈했는지 파악하는 작업은 생각보다 많은 에너지를 소모합니다. 단순히 텍스트를 나열하는 것을 넘어, '기능 단위의 흐름'을 시각적으로 추적하고 이상 징후를 빠르게 잡아내는 기능에 집중하고 싶었습니다.

3. 왜 KMP(Kotlin Multiplatform)였나?

어떤 기술로 개발할지에 대한 고민의 끝은 결국 KMP였습니다.
첫째로, 업무 환경의 제약 없이 Windows, macOS, Linux 어디서든 바로 실행할 수 있는 데스크톱 네이티브 앱이어야 했기 때문입니다.
둘째로, 가장 결정적인 이유는 'Vibe Coding'의 효율과 정확도 때문이었습니다. 안드로이드 개발자로서 가장 익숙한 Kotlin과 Compose를 선택했기에 AI 에이전트에게 훨씬 더 정확하고 구체적인 지시를 내릴 수 있었습니다. 특히 에이전트가 코드를 내놓았을 때, 그것이 내 설계 의도대로 작성되었는지, 잠재적인 문제는 없는지를 즉각적으로 검증할 수 있었습니다. 제가 완벽히 통제할 수 있는 스택 위에서 작업했기에 AI와의 협업이 최상의 시너지를 낼 수 있었던 것입니다.

4. 100% AI Coding: 실무를 위한 실험과 품질 검증

이번 프로젝트의 개발 과정은 100% Antigravity를 활용한 이른바 'AI Coding'으로만 진행되었습니다. 단순히 개발 편의를 위해서가 아니라, "AI 에이전트만으로도 실제 실무에서 즉시 투입 가능한 고품질의 툴을 뽑아낼 수 있는가?"에 대한 한계를 직접 검증해보고 싶었기 때문입니다.
특히 AI가 생성한 코드가 가질 수 있는 파편화나 품질 저하를 막기 위해, 에이전트에게 Unit TestIntegration Test 작성을 강력하게 요구하며 프로젝트를 진행했습니다. 제가 전체적인 아키텍처 설계와 테스트 전략을 지휘하고, 에이전트가 그 가이드라인 안에서 견고한 코드를 생산하도록 통제했습니다. 결과적으로 MVVM과 Clean Architecture를 유지하면서도 테스트 코드까지 갖춘 프로젝트를 완성할 수 있었습니다.
 

🛠 LogPulse의 지향점

LogPulse는 화려한 도구이기보다, 현업 개발자의 가려운 곳을 긁어주는 실무적인 도구를 지향합니다.

  • 로그 병합 : 여러 소스의 로그를 하나로 합쳐 전체 맥락 파악
  • 플로우 감지: 비즈니스 로직의 흐름을 추적하여 이탈 지점 확인
  • 로컬 전용 분석: 보안망 내에서도 안심하고 사용할 수 있는 Privacy-First 설계

LogPulse github : https://github.com/masonljh/LogPulse
LogPulse v0.0.1 : https://github.com/masonljh/LogPulse/releases/tag/v0.0.1

 

Release Release v0.0.1 · masonljh/LogPulse

Sorry, something went wrong. No results found

github.com


🚀 앞으로의 계획

현재 LogPulse는 기능을 하나씩 채워가며 완성도를 높여가는 단계입니다. 우선 베타 버전으로 직장 동료들에게 공유하여 실무 피드백을 받고 있으며, 다양한 로그 케이스를 거치며 툴을 더 단단하게 다듬어갈 예정입니다. 혹시 제 직장 동료분들이 아니더라도 쓰시다가 문제가 있는 부분이 있으면 Issues에 제보 부탁드립니다.(맥은 0.0.2에서 지원 예정)
로그 분석의 고통에서 벗어나고 싶은 많은 개발자분께 실질적인 도움이 되는 도구로 완성해 보겠습니다.
 

반응형

'기타 > LogPulse' 카테고리의 다른 글

개발일지 (4/24)  (0) 2026.04.24