41 auto filter_list =
split(filter,
';');
42 bool changed = filter_list.size() !=
filter_list_.size();
44 for (
size_t i = 0; i <
filter_list_.size() && !changed; i++) {
58 auto exclude_list =
split(exclude,
';');
61 for (
size_t i = 0; i <
exclude_list_.size() && !changed; i++) {
117 auto element =
nodes_.find(node);
118 if (element !=
nodes_.end()) {
119 element->second.exclude = !element->second.exclude;
128 for (
auto& elem:
nodes_) {
129 elem.second.exclude =
false;
138 for (
auto& elem:
nodes_) {
139 elem.second.exclude = !elem.second.exclude;
158 const auto& logs =
logs_->logs();
172 const auto& logs =
logs_->logs();
180 for (
size_t j = 1; j <= lines; j++) {
312 if (node ==
nodes_.end()) {
316 else if (new_entry) {
317 node->second.count++;
320 if (entry.
level == rosgraph_msgs::Log::DEBUG) {
325 else if (entry.
level == rosgraph_msgs::Log::INFO) {
330 else if (entry.
level == rosgraph_msgs::Log::WARN) {
335 else if (entry.
level == rosgraph_msgs::Log::ERROR) {
340 else if (entry.
level == rosgraph_msgs::Log::FATAL) {
351 for (
const auto& line: entry.
text) {
361 for (
const auto& line: entry.
text) {
362 if (
contains(line, exclude,
true)) {
std::vector< std::string > filter_list_
int64_t search_cursor_fwd_
void setDebugLevel(bool enable)
void setEnableNodeFilter(bool enable)
std::vector< std::string > split(const std::string &text, char sep)
std::shared_ptr< LogStore > LogStorePtr
void search(const std::string &pattern)
size_t earliest_log_index_
void setErrorLevel(bool enable)
void setCursor(int64_t index)
void setInfoLevel(bool enable)
void toggleNode(const std::string &node)
bool contains(const std::string &text, const std::string &substr, bool case_insensitive)
bool accepted(const LogEntry &entry, bool new_entry=false)
void setSelectStart(int64_t index)
void setFatalLevel(bool enable)
std::map< std::string, NodeData > nodes_
int64_t search_cursor_rev_
void setExclude(const std::string &exclude)
std::string filter_string_
void setFilter(const std::string &filter)
std::vector< std::string > text
void setWarnLevel(bool enable)
void setSelectEnd(int64_t index)
std::vector< std::string > exclude_list_
std::deque< LogLine > log_indices_
LogFilter(LogStorePtr &logs)