add gadget logger

write gadget output in a file

close #61 
close #35 
Having a default value where none is needed seems an awful lot like premature optimization. If we need a path for this object to work, this should be declared explicitly on instantiation, otherwise it's a hidden dependency/configuration.