You can override that in 1 include template. Write the routines, place these routines in the file entityAuditingInclude.template in the SharedTemplates\C# folder (or if you're using VB.NET, in the VB.NET folder) and make a copy of the templateset config file you're using (CSharpTemplateSet.config for example)
Open the copy in an editor (it's xml) and change the name tag contents so you'll recognize it in the generator configuration.
Then ADD a new template binding: (Example here is for C#)
<templateBinding templateID="Custom_EntityUsingEntityBaseTemplate" templateFilename="......\SharedTemplates\C#\entityAuditingInclude.template" />
save it and re-generate your code using THAT templateset config (the 2nd drop down box in the dialog you get when you press F7)
Now, every derived entity class in the two-class scenario for selfservicing will have your code added to entityAuditingInclude.template. So in entityAuditingInclude.template you implement overrides to InsertEntity(), UpdateEntity() and DeleteEntity(), so you can audit. Be sure to call the base class' version afterwards of course