Your comment to Peter is along the correct track.
You certainly need a separate service for handling the logging.
You will always have an issue with "what if the logger is down - database or service" losing messages.
What you need to do is set up a JMS queue, most likely with a file based backing store which is the least likely to have a failure. Have your service write to the JMS queue to perform the logging, and have your EJB logger service extract messages from the queue to write to the database.
In that way, the log messages will be stored immediately, without being added to the database necessarily immediately, whilst not requiring your service to wait around for completion of the database commit.
There are ways to write to a JMS queue without waiting for completion response so you can minimise the impact on your service.
I can't remember if 10.3.3 had the policy gateway features or whether that came in 10.3.4, however implementing your client component as a policy would make it easier to apply to each of your services without actually touching your service code and give you a reusable solution.