improve logging
add command executor
introduce candidate support command
support multiple candidate
add remove argument
add candidate and argument support command
refactoring
add exception
start to integrate CommandExecutor
change log file name
support commit command
Merge branch 'feature/support_commit_command' into develop