[kotlin] Room 라이브러리의 데이터베이스 로깅 및 디버깅
안녕하세요! 이번에는 안드로이드 개발에서 Room 라이브러리를 사용할 때 데이터베이스 로깅과 디버깅하는 방법에 대해 살펴보겠습니다.
1. 데이터베이스 로깅 설정
Room 라이브러리를 사용하면 SQLite 쿼리의 자동 로깅이 가능합니다. 이를 통해 개발 단계에서 데이터베이스 작업을 디버깅하거나 실시간으로 모니터링할 수 있습니다.
val db = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java, "database-name"
).addMigrations(MIGRATION_1_2)
.enableMultiInstanceInvalidation()
.setJournalMode(RoomDatabase.JournalMode.AUTOMATIC)
.addCallback(object : RoomDatabase.Callback() {
override fun onOpen(db: SupportSQLiteDatabase) {
super.onOpen(db)
// 디버깅을 위한 코드 추가
}
})
.fallbackToDestructiveMigration()
.build()
위와 같이 Room.databaseBuilder
를 통해 데이터베이스를 설정할 때 setJournalMode(RoomDatabase.JournalMode.AUTOMATIC)
을 추가하여 자동 로깅을 활성화할 수 있습니다.
2. 쿼리 모니터링
데이터베이스 로깅이 설정되면 다음과 같이 쿼리를 실시간으로 확인할 수 있습니다.
adb shell setprop log.tag.SQLiteLog V
위 명령어를 입력하면 안드로이드 디바이스에서 SQLite 쿼리 로그를 확인할 수 있습니다.
3. 디버그 도구 사용
또한 안드로이드 스튜디오의 디버그 모드를 활용하여 Room 데이터베이스를 쉽게 디버깅할 수 있습니다.
더 자세한 내용은 Android Developers 사이트를 참고하시기 바랍니다.
이상으로 Room 라이브러리를 사용할 때 데이터베이스 로깅과 디버깅하는 방법에 대해 알아보았습니다. 감사합니다!