The 41-year-old Hoffman had pitched for the San Diego Padres since 1993, but the team recently withdrew its offer for next season. Hoffman posted 30 saves last season, then became a free agent.
The Dodgers had gone hard after Hoffman and were considered to have the advantage of geography because he lives in northern San Diego County. However, the Bucks were rumored to be offering more money, and maybe a second guaranteed year to compensate for the distance.
Milwaukee won the NL wild card last year and was eliminated in the first round of the playoffs by Philadelphia. Bolstering the bullpen was a big need for the Brewers this winter -- Salomon Torres, who led the team with 28 saves, retired and reliever Eric Gagne filed for free agency.
Hoffman converted 30 of 34 chances last season, increasing his saves record to 554. He has saved at least 30 games in 13 seasons, another major league record, relying on a wicked changeup.