@@ -69,31 +69,14 @@ FileLogSink::~FileLogSink() {
6969 fp_ = nullptr ;
7070 }
7171}
72- // Required for custom log formatting and writing to the driver's default log
73- // file
72+ // Required for writing to the driver's default log file
7473void FileLogSink::Send (absl::LogEntry const & entry) {
7574 std::lock_guard<std::mutex> lock (log_mutex_);
7675 // Logging disabled or never initialized
7776 if (!fp_ || !opts_) return ;
7877
7978 auto & opts = *opts_;
80-
81- static absl::TimeZone const kTimeZone = absl::LocalTimeZone ();
82- std::string time_str =
83- absl::FormatTime (" %Y-%m-%d %H:%M:%S" , entry.timestamp (), kTimeZone );
84-
85- char const * log_tag = absl::LogSeverityName (entry.log_severity ());
86-
87- absl::string_view full_path = entry.source_filename ();
88- size_t pos = full_path.rfind (' /' );
89- if (pos == absl::string_view::npos) pos = full_path.rfind (' \\ ' );
90-
91- absl::string_view file_name =
92- pos == absl::string_view::npos ? full_path : full_path.substr (pos + 1 );
93-
94- std::string formatted_msg =
95- absl::StrFormat (" [%s] [%s] [%s:%d] %s\n " , log_tag, time_str, file_name,
96- entry.source_line (), entry.text_message ());
79+ auto formatted_msg = GetFormattedMsg (entry);
9780
9881 std::size_t new_log_size = formatted_msg.size ();
9982 std::uintmax_t max_file_size_bytes =
@@ -131,6 +114,27 @@ absl::LogSeverity GetAbslSeverity(LogLevel level) {
131114 }
132115}
133116
117+ // Formats log msg in format: [LOG_LEVEL] [TIME] [FILE:LINE] MSG
118+ std::string GetFormattedMsg (absl::LogEntry const & entry) {
119+ static absl::TimeZone const kTimeZone = absl::LocalTimeZone ();
120+ std::string time_str =
121+ absl::FormatTime (" %Y-%m-%d %H:%M:%S" , entry.timestamp (), kTimeZone );
122+
123+ char const * log_tag = absl::LogSeverityName (entry.log_severity ());
124+ absl::string_view full_path = entry.source_filename ();
125+
126+ size_t pos = full_path.rfind (' /' );
127+ if (pos == absl::string_view::npos) pos = full_path.rfind (' \\ ' );
128+
129+ absl::string_view file_name =
130+ pos == absl::string_view::npos ? full_path : full_path.substr (pos + 1 );
131+
132+ std::string msg =
133+ absl::StrFormat (" [%s] [%s] [%s:%d] %s\n " , log_tag, time_str, file_name,
134+ entry.source_line (), entry.text_message ());
135+ return msg;
136+ }
137+
134138void ClearOldLogFiles (std::string const & base_dir, int next_index,
135139 int max_file_count) {
136140 if (max_file_count < 1 ) return ;
0 commit comments