Generally speaking, in the winter, the further north you go, the shorter the days are so Bruges is even worse than Vienna in this respect (night might fall a bit earlier in Vienna because it is in the same time zone as Bruges, despite being much further east, but the sun also rises earlier and the days are definitely longer).
In coastal northern cities like London, Amsterdam or Hamburg you might certainly experience bad weather (rain and grey skies) but December is not the coldest month of the year and the temperature should still be above freezing. Cities further inland like Berlin, Munich, Vienna, Prague, etc. are going to be colder, even as far south as Sofia or Ankara.
Christmas lighting and customs are in any case something to enjoy even in colder places but if warm weather is important you will have to look elsewhere. On the other hand, if Bruges in OK to you then most of northern Europe should be too.
Barcelona will certainly have longer days and somewhat warmer weather than either Bruges or Vienna (although it might not be terribly warm). Other options in the south are Seville, Granada, Lisbon, Rome, Naples, Athens or Istanbul. Warmer still, you might want to consider Malta.
If you plan to stay until New Year's Eve, one interesting thing in Central Europe (definitely in Germany but I believe also in Austria, Hungary, the Czech Republic, etc.) and the low countries are the fireworks people light at midnight (not a big municipal firework or something like that but private fireworks literally everywhere).