The antiderivative of ln xlnx 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∫lnxdx=lnx−∫(ddx(lnx)×∫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