end2endzone / ShellAnything

ShellAnything is a C++ open-source software which allow one to easily customize and add new options to *Windows Explorer* context menu. Define specific actions when a user right-click on a file or a directory.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Library independent logging support

end2endzone opened this issue · comments

Is your feature request related to a problem? Please describe.
All application modules (version 0.8.0 and lower) dependents on Google GLOG library for logging. This way of implementing logging is complicated, increases class coupling and forces all future development to use the same logging library. A more maintainable logging feature should be implemented.

Describe the solution you'd like
ShellAnything's core should define a logging interface that is then implemented by a logging framework. This method would assure that ShellAnything logging code can be easily swapped for another logging library/framework.

Describe alternatives you've considered
The actual implementation is the alternative and is considered problematic because all classes and modules have a dependency to GLOG.

Additional context
N/A

Sample code for manually logging to GLOG library from outside of a source file :

::google::LogMessage("this_file_do_not_exists.cpp", 0).stream() << "Hello world from my fake source file!";
::google::LogMessage("this_file_do_not_exists.cpp", 0, google::GLOG_WARNING).stream() << "sample warning message!";
::google::LogMessage("this_file_do_not_exists.cpp", 0, google::GLOG_ERROR).stream() << "example of an error message!";