add backend log function