mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	android: add logging
This commit is contained in:
		
							parent
							
								
									9848610ea2
								
							
						
					
					
						commit
						f767b5fdef
					
				
					 10 changed files with 160 additions and 30 deletions
				
			
		|  | @ -259,7 +259,7 @@ Entry CreateEntry(Class log_class, Level log_level, const char* filename, unsign | |||
|     entry.timestamp = duration_cast<std::chrono::microseconds>(steady_clock::now() - time_origin); | ||||
|     entry.log_class = log_class; | ||||
|     entry.log_level = log_level; | ||||
|     entry.filename = Common::TrimSourcePath(filename); | ||||
|     entry.filename = Common::TrimSourcePath(filename, {R"(\.\.)", "src"}).data(); | ||||
|     entry.line_num = line_nr; | ||||
|     entry.function = function; | ||||
|     entry.message = std::move(message); | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| #include <codecvt> | ||||
| #include <cstdlib> | ||||
| #include <locale> | ||||
| #include <regex> | ||||
| #include <sstream> | ||||
| #include "common/common_paths.h" | ||||
| #include "common/logging/log.h" | ||||
|  | @ -210,25 +211,17 @@ std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, std::size_t | |||
|     return std::string(buffer, len); | ||||
| } | ||||
| 
 | ||||
| const char* TrimSourcePath(const char* path, const char* root) { | ||||
|     const char* p = path; | ||||
| 
 | ||||
|     while (*p != '\0') { | ||||
|         const char* next_slash = p; | ||||
|         while (*next_slash != '\0' && *next_slash != '/' && *next_slash != '\\') { | ||||
|             ++next_slash; | ||||
|         } | ||||
| 
 | ||||
|         bool is_src = Common::ComparePartialString(p, next_slash, root); | ||||
|         p = next_slash; | ||||
| 
 | ||||
|         if (*p != '\0') { | ||||
|             ++p; | ||||
|         } | ||||
|         if (is_src) { | ||||
|             path = p; | ||||
|         } | ||||
| std::string TrimSourcePath(const std::string& file_path, const std::vector<std::string>& roots) { | ||||
|     // match from beginning of path to dir sep
 | ||||
|     std::string regex_src = R"(.*([\/\\]|^)()"; | ||||
|     // plus the last occurrence of any root
 | ||||
|     for (auto root = roots.begin(); root < roots.end() - 1; ++root) { | ||||
|         regex_src += '(' + *root + ")|"; | ||||
|     } | ||||
|     return path; | ||||
|     regex_src += '(' + roots.back() + ')'; | ||||
|     // plus dir sep
 | ||||
|     regex_src += R"()[\/\\])"; | ||||
|     std::regex regex(regex_src); | ||||
|     return std::regex_replace(file_path, regex, ""); | ||||
| } | ||||
| } // namespace Common
 | ||||
|  |  | |||
|  | @ -69,11 +69,11 @@ std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, std::size_t | |||
|  * intended to be used to strip a system-specific build directory from the `__FILE__` macro, | ||||
|  * leaving only the path relative to the sources root. | ||||
|  * | ||||
|  * @param path The input file path as a null-terminated string | ||||
|  * @param root The name of the root source directory as a null-terminated string. Path up to and | ||||
|  *             including the last occurrence of this name will be stripped | ||||
|  * @return A pointer to the same string passed as `path`, but starting at the trimmed portion | ||||
|  * @param path The input file path as a string | ||||
|  * @param roots The name of the root source directorys as a vector of strings. Path up to and | ||||
|  *             including the last occurrence of these names will be stripped | ||||
|  * @return The trimmed path as a string | ||||
|  */ | ||||
| const char* TrimSourcePath(const char* path, const char* root = "src"); | ||||
| std::string TrimSourcePath(const std::string& file_path, const std::vector<std::string>& roots); | ||||
| 
 | ||||
| } // namespace Common
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue