Had the same question as well and could not find anything regarding this in Nova documentation.
Digging around in Nova vendor files I found the Laravel\Nova\Actions\ActionEvent class which seems to be what Nova uses when saving entries to the action log.
You'll find some methods like forResourceCreate($user, $model) and forResourceUpdate($user, $model) which can be used for saving action log entries on model updates and saves.
There's some more methods to handle other cases but I haven't dug any further on those.
Do note tho, that you'll have to pass the Model that has been changed/pending creation to the ActionEvent class before saving it, otherwise it seems it can't extract what has changed so Original/Changes will be empty.
Below is an example snippet you can try to run ie. via php artisan tinker that will update the name on a User and log the changes to the action log.
Note that you'll have to create 2 users with id=1 and id=2 where user with id=2 is the one that will be logged as having changed user with id=1
auth()->loginUsingId(2);
$user = \App\User::find(1);
$user->name .= ' 2.0';
// Create ActionEvent instance before saving so Original/Changes is set correctly in action log
$actionEvent = \Laravel\Nova\Actions\ActionEvent::forResourceUpdate(auth()->user(), $user);
if ($user->save()) {
// User model saved successfully so save entry in action log
$actionEvent->save();
}
I'm not sure if this is the correct way but hopefully above should be a step in the right direction at least.
I've only tried and got it working using Nova v2.0.9 on Laravel 5.8.