Logan gets a $5.5 million salary this year under the agreement announced Tuesday, and the Indians have a $7 million option for 2018 with a $1 million buyout.
The 32-year-old spent the last three seasons with Colorado and appeared in 126 games over the past two years. Logan had a 3.69 ERA in 66 games last season, limited left-handed hitters to a .142 average and struck out 57 overall in 46 1/3 innings.
He is 28-23 with three saves and a 4.45 ERA in 581 big league relief appearances. Logan debuted with the Chicago White Sox in 2006 and led American League pitchers with 80 games with the New York Yankees in 2012.
The Indians had been looking for a second lefty reliever to complement Andrew Miller, who was acquired at the trade deadline last season and helped the Indians reach the World Series.