Logging operations take a short amount of time and are spurious, in this case, a worker thread would work better, it seems.
If a task is to be repeated, I think it is better a system task: while it is waiting for an event it does not consume any cpu, and wake-up upon event and back to wait implies less overhead than creating and destroying a worker thread every time. If the task is very spurious and not time critical, it does not matter much anyway. I hope this makes sense.
Jose Catena DIGIWAVES S.L.