Here are some thoughts about it. In general this depends upon how your architecture looks like. First lets see your options:
A. Using auditing methods inside entities (CUSTOM_CODE_REGION or partial classes).
B. Using an Auditor object and assign it when you create an entity (Initialize method)
C. Using an Auditor object and use DependencyInjection to auto inject it into the entity instances.
So, if for instance, your database generic project has a lot of business rules, maybe it's appropriate to put the auditor methods there as well. This applies more naturally if you are using SelfServicing template set.
If you have some Manager classes that perform all business rules, maybe would be more convenient to use an Auditor class. You may assign it or un-assign it depending upon some BL rules.
If you have some Manager classes but they are not aware of any auditing mechanisms and you want to isolate that, then it's more likely you have to use Auditor classes with Dependency Injection. This way your BL is not aware of it, and you can plug-unplug the auditor, or change it, or extend it, without affecting your other modules.