The antiderivative of #ln x# can be easily found out by integration by parts to be
#int ln x dx = ln x - int (d/dx(ln x) times int 1 *dx)dx#
#qquad = xln x-x+C#
The antiderivative of the given function is
#int ln(x^2+2x+2) dx = int ln[ (x^2+2x+2)]*1 dx #
#qquad = ln (x^2+2x+2)int 1 * dx #
#qquad -int [d/dx ln (x^2+2x+2) int 1.dx]dx#
# qquad = xln(x^2+2x+2) - int {x(2x+2)dx}/(x^2+2x+2)#
Now
#{2x(x+1)}/(x^2+2x+2) =2 {x^2+2x+2-x-2}/(x^2+2x+2)#
#qquad =2-(2x+4)/(x^2+2x+2) #
#qquad = 2-(2x+2)/(x^2+2x+2)-(2)/(x^2+2x+2)#
and so
#int {x(2x+2)dx}/(x^2+2x+2) #
#qquad = int [2-(2x+2)/(x^2+2x+2)-(2)/((x+1)^2+1)]dx#
#qquad = 2x- ln(x^2+2x+2)-2tan^-1x+C#
Thus the required antiderivative is
#xln(x^2+2x+2) - 2x + ln(x^2+2x+2)+2tan^-1x+C#