I have to give ROOT access to a developer to install a program ...
No, you don't.
Get them to write down or, better yet, script the installation steps and execute them on their behalf.
This is called Separation of Duties. They are a Developer. You are a SysAdmin. Let them do the stuff that they're good at (writing code, testing, etc.) and you do the stuff that you're good at (keeping machines secure and running efficiently, etc.).
... I know that he will remove history after exit session.
Is this "standard practice" for your organisation?
If not, why do they feel the need to do so?
I need to check what commands he run to protect server from abuse activity.
It is clear that you do not trust this Developer.
If that is the case, then you should not let them anywhere near this server.
It's your job on the line if you allow them to install something questionable on there.
Escalate the issue to Management if necessary.