Clean Up Vets-API: Removing The SentryLogging Module
Hey folks, let's talk about a cleanup project in Vets-API that's coming down the pipeline: removing the SentryLogging
module. This is a necessary step to streamline our codebase and make sure everyone's using the modern Vets::SharedLogging
module. The deadline is looming, so let's get into the details and make sure we're all on the same page. This is a crucial step to improve the efficiency and maintainability of our codebase. We will discuss the SentryLogging
module's deprecation and removal, the user story behind this change, the issue description, and the tasks involved. We'll also cover the acceptance criteria to ensure a smooth transition. This removal is not just about deleting code; it's about embracing a more efficient and maintainable system for the entire Vets-API ecosystem. By modernizing our logging practices, we improve our ability to quickly address issues, improve performance, and enhance the overall user experience.
The Why: User Story and Issue Description
As maintainers of Vets-API, we're all about keeping things clean, efficient, and up-to-date. The main goal here is to deprecate and remove the SentryLogging
module, forcing everyone to use the shiny new Vets::SharedLogging
module. This keeps our codebase tidy and ensures consistency across the board. The Platform team has set a hard deadline of October 31, 2025, for all teams to migrate from the old SentryLogging
module to the new Vets::SharedLogging
module. This isn't something that just popped up overnight; we've had deprecation warnings in place for ages now. Now it's time to take the next step and remove SentryLogging
entirely. The goal here is to streamline our codebase and ensure everyone is using the latest and greatest logging methods. This proactive approach not only cleans up the code but also makes it easier to maintain and update in the future. By unifying our logging practices, we enhance our capacity to track and resolve problems, thus boosting system performance.
Let's get into the specifics. The issue is crystal clear: We need to remove the old SentryLogging
module. It's time to say goodbye to the old ways and fully embrace the Vets::SharedLogging
module. This move ensures everyone is using the same logging standards, making things easier for the team as a whole. Additionally, it's essential to notify all engineers who use Vets-API about this upcoming change. We'll be doing this via several Slack channels to make sure everyone is in the loop. This proactive communication helps in a smooth transition, allowing engineers ample time to make the necessary changes to their code. If you want to dive deeper, check out the migration guide and take a look at the PR https://github.com/department-of-veterans-affairs/vets-api/pull/23657 for more details.
The How: Tasks and Action Plan
So, what does this all mean in terms of actual work? Here’s the breakdown of the tasks involved in removing the SentryLogging
module. The project is split into key areas, each designed to ensure a smooth transition and complete removal of the legacy module. This plan focuses on meticulous execution, guaranteeing that all aspects of the transition are handled with precision. By following this roadmap, we can minimize any disruption and ensure that the codebase remains functional and efficient throughout the process.
Change Announcement
- Change Announcement: The first thing is to get the word out. Following the Change Communication Plan, we will announce this change on October 30th, 2025. This ensures that all teams and engineers are well-informed and can prepare for the changes. The announcement will be distributed through multiple channels to maximize reach and ensure everyone is aware of the upcoming changes. This proactive approach will help mitigate potential issues and promote a seamless transition for all stakeholders.
Removal Part 1 and 2
- Determine how to break up workload: We need to figure out the best way to divide the work to make sure everything gets done smoothly and efficiently. We'll assess the codebase to identify all the instances of
SentryLogging
usage and devise a plan to address each one systematically. This step will enable us to estimate the effort required and distribute the tasks appropriately among the team members. A well-defined workload breakdown helps to streamline the migration process, ensuring all tasks are completed without any oversight. - Migrate any remaining SentryLogging calls to Vets::SharedLogging: The main part of the project is to replace all instances of
SentryLogging
withVets::SharedLogging
. This involves updating all related code to use the new module, ensuring consistency in our logging practices. This involves a careful analysis of the existing code, followed by the replacement of the deprecated calls with their modern counterparts. Follow the migration guide to make sure you're doing things correctly. This guide offers a step-by-step approach to facilitate the migration. This ensures a consistent and seamless transition.- Follow the migration guide: This guide provides detailed instructions on how to migrate your code. It will offer practical examples and best practices to ensure a smooth transition. The migration guide ensures that we maintain the integrity of our logging processes while transitioning to the new module. This will reduce confusion and ensure consistency across all projects. By following the guide, we can ensure that every aspect of the migration is handled meticulously and accurately.
- Update any related tests: Don't forget to update all the tests associated with the logging functions. This guarantees that all functionalities continue to work as intended after the migration. We'll update our tests to reflect the new
Vets::SharedLogging
module and make sure that the system is fully functional. This is a critical step to ensure that we maintain a high level of code quality and avoid any potential regressions. This ensures that every aspect of the change is thoroughly tested to prevent future problems. This will ensure that our system remains reliable and consistent.
The Finish Line: Acceptance Criteria
How do we know when we're done, and we can all high-five each other? Here’s what we’re aiming for:
- All tasks are complete: Every single task in the plan is finished. No loose ends, no lingering issues – everything is checked off the list.
- No remaining SentryLogging usage exists in the codebase: We'll do a thorough search to ensure that no
SentryLogging
calls are left anywhere in the codebase. Everything has to be using the newVets::SharedLogging
module. - Documentation is updated to reflect the change: Finally, we’ll make sure all the documentation is up-to-date to reflect the change. This includes any relevant guides or tutorials. This will ensure that our documentation accurately reflects the changes made to the codebase. By updating the documentation, we make sure that our users and future developers have the right information. This ensures that new team members understand the system properly and can contribute effectively.
By following this plan, we'll not only clean up the codebase but also make it more efficient and easier to maintain. Remember the deadline: October 31, 2025. Let’s make this happen and keep Vets-API in tip-top shape!