-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Library independent logging support #137
Labels
Milestone
Comments
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!"; |
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
end2endzone
added a commit
that referenced
this issue
Dec 3, 2023
…a dependency to google's glog/logging.h. Renamed function GlogUtils::InitLogger() to InitGlog(). #137
end2endzone
added a commit
that referenced
this issue
Dec 6, 2023
end2endzone
added a commit
that referenced
this issue
Dec 6, 2023
* feature-issue137: * Fixed issue #137: Library independent logging support. Fixed error in how to define the application's file name based on running from the shell extension's (i.e: through explorer.exe) or from unit tests executable. Fixed warning: 1>CUSTOMBUILD : CMake error : install(EXPORT "shellanything-targets" ...) includes target "sa.shellextension" which requires target "sa.logger.glog" that is not in any export set. Removed GLOG dependency from sa.api, sa.shellextension, sa.shared and sa.tests projects. #137 Created function ShutdownGlog() in GlogUtil to prevent module having a dependency to google's glog/logging.h. Renamed function GlogUtils::InitLogger() to InitGlog(). #137 Moved GlogUtils functions in shellanything::logging::glog namespace. Moved generic code from GlogUtils.cpp to ShellAnything's App class. #137 #111. Moved GlogUtils from /src/shared/ to /src/logger/glog/. #137 Renamed LoggerManager class to App. #137 #111 Moved glog include instruction from GlogUtils.h to GlogUtils.cpp. Removed usage of GLOG's `LOG` macro from files. #137 Removed usage of GLOG's `LOG` macro from sa.shellextension project. #137 Removed GLOG dependency from sa.core.dll. #137 Added a temporary dllmain.cpp DLL un/initialization code for sa.logger.glog.dll. #137 Created class LoggerGlog which is an implementation of ILogger. #137 Created ILogger, LoggerManager and LoggerHelper classes. #137
end2endzone
added a commit
that referenced
this issue
Dec 28, 2023
end2endzone
added a commit
that referenced
this issue
Dec 30, 2023
* feature-issue129: * Fixed issue #129: Utilize clipboard contents as well as set them. Renamed "Dynamic Properties" to "Live Properties" for clarity. Updated documentation. Created new unit tests. #129 Added "Service" postfix to App::Set/GetRegistry() and Set/GetLogger(). Add a comment in IWhatEverService interface declarations that it is required to keep the core decoupled from something. #134 #137 Decoupled clipboard management from sa.core.dll: created an IClipboard interface in the core. Created an implementation that matches the current clipboard management code in sa.windows.dll. Implemented `clipboard` property to reference current clipboard content. The property name is `clipboard` to match existing `<clipboard>` action. #129
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
The text was updated successfully, but these errors were encountered: