Added directory exists check at start
Added recursive directory creation when creating directories
Added more logging for LINFO level logs
Added requirement for errno.h header