log: add log4j appender
dao: implement