log asynchronously, especially important for web module to avoid blocking if disc is busy