How to partially merge similar items?

For polynomials:

-x1 - x2 - 1/(x1 \[Lambda] + x2 \[Mu]) + 
 2 (x1 \[Lambda] + x2 \[Mu]) + (Log[x1] - Log[x2])/(x1 - x2)

to get the result:

(x1 - x2) (-1 + 2 \[Lambda]) - 1/(x1 \[Lambda] + x2 \[Mu]) + (
 Log[x1] - Log[x2])/(x1 - x2)

Why can’t we handle it using this method?

-x1 - x2 - 1/(x1 \[Lambda] + x2 \[Mu]) + 
  2 (x1 \[Lambda] + x2 \[Mu]) + (Log[x1] - Log[x2])/(x1 - x2) // 
 Collect[#, {x1, x2}] &

If you’re going to post the same question on multiple sites, please make that known. Otherwise, you might be wasting the time of folks trying to help you if there’s already an answer or a strong hint at another site.