implement error log viewer