Jan 23, 2013, 10:42 PM EST
Exact financial details have not been disclosed.
Hairston batted .263/.299/.504 with a career-high 20 home runs and 57 RBI in 398 plate appearances last season for the Mets. The 32-year-old veteran is a .247/.302/.449 career hitter in the major leagues.
Hairston will presumably start in right field this summer for the Cubs. If he gets off to a decent start, he can be flipped at the deadline for some youth.
The Yankees, Phillies, Braves and Mets were among the teams linked to Hairston this offseason.
UPDATE, 11:31 PM: Bruce Levine of ESPN Chicago says the contract is worth “up to $6 million.”
- Report: Yankees have agreed to a three-year deal with Carlos Beltran 67
- Mike Napoli agrees to two-year, $32 million deal with Red Sox 25
- Curtis Granderson leaves Yankees for Mets (and $60 million) 66
- Robinson Cano agrees to $240 million deal with Mariners 256
- MLB, NPB nearing new posting system agreement 9
- Robinson Cano agrees to $240 million deal with Mariners (257)
- Yankees agree to seven-year, $153M contract with free agent outfielder Jacoby Ellsbury (160)
- Report: Mariners willing to offer Robinson Cano a 10-year, $240 million deal (143)
- When will the Yankees regret the Jacoby Ellsbury contract? (101)
- Robinson Cano signing only bad if the Mariners stop now (93)