Preheat oven to 225 degrees. Arrange bread slices in a single layer on a baking sheet. Bake for 40 minutes. (You are just drying out the bread slices. You can skip this step if you have day-old bread.) Allow to cool and then butter each slice on one side with 2 tbsp of the butter.
In a nonstick pan, cook sausage over medium heat, breaking it apart with a wooden spoon. Once sausage has begun to brown, add shallots. Saute sausage and shallots for one more minute, until shallots become translucent. Add mushrooms and cook an additional 3-4 minutes, until mushrooms are soft. Transfer to a bowl and season with salt and pepper.
Add wine to the pan and raise the temperature to medium-high. Allow the wine to reduce slightly while scraping the browned bits from the bottom of the pan, 3-4 minutes. Remove from heat.
In a separate bowl, whisk the eggs, half-and-half, reduced wine and parsley.
Butter a 9x13 baking dish with the remaining 1 tbsp of butter. Arrange half of the bread slices along the bottom of the baking dish in a single layer. Sprinkle half of the sausage mixture and 1 cup of cheese evenly over the bread slices. Repeat with the rest of the bread, sausage and additional 1 cup of cheese. Pour the egg mixture evenly over the bread. Cover with plastic wrap, weigh down with another baking dish and refrigerate overnight (or at least several hours).
When ready to bake, preheat the oven to 350 degrees. Remove plastic wrap and sprinkle the 1 remaining cup of cheese over top. Bake for 55 minutes, or until edges start to pull away from the sides of the pan. Allow to cool 5 minutes before serving.