#endif
#include <cassert>
+#include <cstring>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
+#ifndef __FILENAME__
+#define __FILENAME__ \
+ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
+#endif
+
namespace utils {
enum class LogLevel {
::utils::LogLevel::LOG_ ## LEVEL, __tag_for_project()) \
& ::utils::StringStream<char>() \
<< std::string(::utils::LogTag<::utils::LogLevel::LOG_ ## LEVEL>::value) \
- << " " << std::setw(20) << std::left << __tag_for_logging() \
+ << " " << std::setw(25) << std::left << __tag_for_logging() \
+ << " : " << std::setw(36) \
+ << (std::string(__FILENAME__) + ":" + std::to_string(__LINE__)).c_str() \
<< std::setw(0) << " : " \
#endif // MANIFEST_PARSER_UTILS_LOGGING_H_