mirror of
https://github.com/tstack/lnav.git
synced 2024-08-17 08:50:41 +03:00
[all_logs] add log_msg_value column
This commit is contained in:
parent
2e9aff58fc
commit
272bb8d840
5
NEWS.md
5
NEWS.md
@ -116,9 +116,12 @@ Features:
|
||||
the desired file.
|
||||
* Binary files are now displayed as a hex dump with ASCII
|
||||
representation (where applicable).
|
||||
* Added a `log_msg_line()` function that will return the
|
||||
* Added a `log_msg_line()` SQL function that will return the
|
||||
line number of the start of the currently focused
|
||||
message in the log view.
|
||||
* Added a `log_msg_values` column to the `all_logs` SQL
|
||||
table that contains a JSON object with the top 5 values
|
||||
for the fields extracted from the log message.
|
||||
|
||||
Bug Fixes:
|
||||
* Binary data piped into stdin should now be treated the same
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "base/attr_line.hh"
|
||||
#include "config.h"
|
||||
#include "data_parser.hh"
|
||||
#include "elem_to_json.hh"
|
||||
|
||||
static auto intern_lifetime = intern_string::get_table_lifetime();
|
||||
|
||||
@ -42,7 +43,10 @@ all_logs_vtab::all_logs_vtab()
|
||||
logline_value_meta::table_column{0}),
|
||||
alv_schema_meta(intern_string::lookup("log_msg_schema"),
|
||||
value_kind_t::VALUE_TEXT,
|
||||
logline_value_meta::table_column{1})
|
||||
logline_value_meta::table_column{1}),
|
||||
alv_values_meta(intern_string::lookup("log_msg_values"),
|
||||
value_kind_t::VALUE_JSON,
|
||||
logline_value_meta::table_column{2})
|
||||
{
|
||||
this->alv_msg_meta.lvm_identifier = true;
|
||||
this->alv_schema_meta.lvm_identifier = true;
|
||||
@ -60,6 +64,11 @@ all_logs_vtab::get_columns(std::vector<vtab_column>& cols) const
|
||||
"",
|
||||
true,
|
||||
"The ID for the message schema");
|
||||
cols.emplace_back(this->alv_values_meta.lvm_name.get(),
|
||||
SQLITE3_TEXT,
|
||||
"",
|
||||
false,
|
||||
"The values extracted from the message");
|
||||
}
|
||||
|
||||
void
|
||||
@ -90,9 +99,17 @@ all_logs_vtab::extract(logfile* lf,
|
||||
dp.dp_msg_format = &str;
|
||||
dp.parse();
|
||||
|
||||
yajlpp_gen gen;
|
||||
yajl_gen_config(gen, yajl_gen_beautify, false);
|
||||
|
||||
elements_to_json(gen, dp, &dp.dp_pairs);
|
||||
|
||||
values.lvv_values.emplace_back(this->alv_msg_meta, std::move(str));
|
||||
values.lvv_values.emplace_back(this->alv_schema_meta,
|
||||
dp.dp_schema_id.to_string());
|
||||
values.lvv_values.emplace_back(
|
||||
this->alv_values_meta,
|
||||
json_string(gen).to_string_fragment().to_string());
|
||||
values.lvv_opid_value = std::move(sub_values.lvv_opid_value);
|
||||
}
|
||||
|
||||
|
@ -54,6 +54,7 @@ public:
|
||||
private:
|
||||
logline_value_meta alv_msg_meta;
|
||||
logline_value_meta alv_schema_meta;
|
||||
logline_value_meta alv_values_meta;
|
||||
};
|
||||
|
||||
#endif // LNAV_ALL_LOGS_VTAB_HH
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
data_format data_parser::FORMAT_SEMI("semi", DT_COMMA, DT_SEMI);
|
||||
data_format data_parser::FORMAT_COMMA("comma", DT_INVALID, DT_COMMA);
|
||||
data_format data_parser::FORMAT_EMDASH("emdash", DT_INVALID, DT_EMDASH);
|
||||
data_format data_parser::FORMAT_PLAIN("plain", DT_INVALID, DT_INVALID);
|
||||
|
||||
data_parser::data_parser(data_scanner* ds)
|
||||
@ -77,12 +78,13 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
if (in_list.el_format.df_prefix_terminator != DT_INVALID) {
|
||||
if (iter->e_token == in_list.el_format.df_prefix_terminator) {
|
||||
in_list.el_format.df_prefix_terminator = DT_INVALID;
|
||||
in_list.el_format.df_separator = DT_COLON;
|
||||
} else {
|
||||
el_stack.PUSH_BACK(*iter);
|
||||
}
|
||||
} else if (iter->e_token == in_list.el_format.df_terminator) {
|
||||
this->end_of_value(
|
||||
el_stack, key_comps, value, in_list, group_depth);
|
||||
el_stack, key_comps, value, in_list, group_depth, iter);
|
||||
|
||||
key_comps.PUSH_BACK(*iter);
|
||||
} else if (iter->e_token == in_list.el_format.df_qualifier) {
|
||||
@ -92,9 +94,17 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
if (!value.empty()) {
|
||||
el_stack.PUSH_BACK(element(value, DNT_VALUE));
|
||||
}
|
||||
} else if (iter->e_token == in_list.el_format.df_separator) {
|
||||
value.CLEAR();
|
||||
} else if (iter->e_token == in_list.el_format.df_separator
|
||||
|| iter->e_token == DNT_GROUP)
|
||||
{
|
||||
auto key_iter = key_comps.end();
|
||||
bool found = false, key_is_values = true, mixed_values = false;
|
||||
auto last_is_key = !key_comps.empty()
|
||||
&& (key_comps.back().e_token == DT_WORD
|
||||
|| key_comps.back().e_token == DT_SYMBOL);
|
||||
element_list_t ELEMENT_LIST_T(mixed_queue),
|
||||
ELEMENT_LIST_T(mixed_tail);
|
||||
|
||||
if (!key_comps.empty()) {
|
||||
do {
|
||||
@ -105,7 +115,9 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
key_comps,
|
||||
key_comps.begin(),
|
||||
key_iter);
|
||||
if (!key_comps.empty()) {
|
||||
key_comps.POP_FRONT();
|
||||
}
|
||||
found = true;
|
||||
} else if (key_iter->e_token
|
||||
== in_list.el_format.df_terminator)
|
||||
@ -133,6 +145,7 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
break;
|
||||
case DT_WHITE:
|
||||
break;
|
||||
case DT_ID:
|
||||
case DT_QUOTED_STRING:
|
||||
case DT_URL:
|
||||
case DT_PATH:
|
||||
@ -151,26 +164,76 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
case DT_NUMBER:
|
||||
case DT_HEX_NUMBER:
|
||||
case DT_EMAIL:
|
||||
case DT_CONSTANT: {
|
||||
if (in_list.el_format.df_terminator
|
||||
== DT_INVALID)
|
||||
case DT_CONSTANT:
|
||||
case DNT_MEASUREMENT: {
|
||||
if (((in_list.el_format.df_terminator
|
||||
!= DT_INVALID
|
||||
&& !el_stack.empty())
|
||||
|| (key_comps.size() == 1
|
||||
&& mixed_queue.empty()))
|
||||
&& key_iter->e_token == DT_ID)
|
||||
{
|
||||
element_list_t ELEMENT_LIST_T(key_value);
|
||||
key_is_values = false;
|
||||
} else if (in_list.el_format.df_terminator
|
||||
== DT_INVALID
|
||||
|| el_stack.empty())
|
||||
{
|
||||
element_list_t ELEMENT_LIST_T(mixed_key);
|
||||
element_list_t ELEMENT_LIST_T(mixed_value);
|
||||
|
||||
mixed_values = true;
|
||||
auto value_iter = key_iter;
|
||||
++key_iter;
|
||||
key_value.SPLICE(key_value.end(),
|
||||
if (last_is_key) {
|
||||
if (mixed_tail.empty()) {
|
||||
mixed_tail.SPLICE(
|
||||
mixed_tail.end(),
|
||||
key_comps,
|
||||
std::next(value_iter),
|
||||
key_comps.end());
|
||||
}
|
||||
} else {
|
||||
while (std::prev(key_comps.end())
|
||||
!= value_iter)
|
||||
{
|
||||
key_comps.POP_BACK();
|
||||
}
|
||||
}
|
||||
key_iter = std::next(value_iter);
|
||||
mixed_value.SPLICE(mixed_value.end(),
|
||||
key_comps,
|
||||
value_iter,
|
||||
key_iter);
|
||||
if (key_comps.empty()) {
|
||||
key_iter = key_comps.end();
|
||||
} else {
|
||||
key_iter = key_comps.begin();
|
||||
}
|
||||
if (!el_stack.empty()
|
||||
&& el_stack.back().e_token == DNT_KEY
|
||||
&& key_comps.empty())
|
||||
{
|
||||
el_stack.PUSH_BACK(
|
||||
element(key_value, DNT_VALUE));
|
||||
element(mixed_value, DNT_VALUE));
|
||||
} else {
|
||||
mixed_queue.PUSH_FRONT(
|
||||
element(mixed_value, DNT_VALUE));
|
||||
if (!key_comps.empty()) {
|
||||
if (key_comps.back().e_token
|
||||
== DT_WORD)
|
||||
{
|
||||
key_iter = std::prev(
|
||||
key_comps.end());
|
||||
mixed_key.SPLICE(
|
||||
mixed_key.end(),
|
||||
key_comps,
|
||||
key_iter,
|
||||
key_comps.end());
|
||||
mixed_queue.PUSH_FRONT(element(
|
||||
mixed_key, DNT_KEY));
|
||||
}
|
||||
}
|
||||
}
|
||||
while (!key_comps.empty()
|
||||
&& !key_comps.back().is_value())
|
||||
{
|
||||
key_comps.POP_BACK();
|
||||
}
|
||||
key_iter = key_comps.end();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -180,6 +243,24 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
}
|
||||
} while (key_iter != key_comps.begin() && !found);
|
||||
}
|
||||
if (!mixed_queue.empty()) {
|
||||
if (el_stack.back().e_token == DNT_KEY
|
||||
&& mixed_queue.front().e_token == DNT_KEY)
|
||||
{
|
||||
el_stack.POP_BACK();
|
||||
}
|
||||
el_stack.SPLICE(el_stack.end(),
|
||||
mixed_queue,
|
||||
mixed_queue.begin(),
|
||||
mixed_queue.end());
|
||||
}
|
||||
if (!mixed_tail.empty()) {
|
||||
key_comps.CLEAR();
|
||||
key_comps.SPLICE(key_comps.end(),
|
||||
mixed_tail,
|
||||
std::prev(mixed_tail.end()),
|
||||
mixed_tail.end());
|
||||
}
|
||||
if (!found && !mixed_values && !el_stack.empty()
|
||||
&& !key_comps.empty())
|
||||
{
|
||||
@ -216,15 +297,25 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
key_comps.POP_FRONT();
|
||||
}
|
||||
}
|
||||
if (!key_comps.empty()) {
|
||||
if (key_is_values) {
|
||||
el_stack.PUSH_BACK(element(key_comps, DNT_VALUE));
|
||||
} else {
|
||||
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
key_comps.CLEAR();
|
||||
value.CLEAR();
|
||||
} else {
|
||||
|
||||
if (iter->e_token == DNT_GROUP) {
|
||||
value.PUSH_BACK(*iter);
|
||||
el_stack.PUSH_BACK(element(value, DNT_VALUE));
|
||||
value.CLEAR();
|
||||
}
|
||||
} else if (iter->e_token != DT_WHITE && iter->e_token != DT_CSI
|
||||
&& iter->e_token != DT_LINE)
|
||||
{
|
||||
key_comps.PUSH_BACK(*iter);
|
||||
}
|
||||
|
||||
@ -241,7 +332,8 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
free_row.SPLICE(
|
||||
free_row.begin(), key_comps, key_comps.begin(), key_comps.end());
|
||||
} else {
|
||||
this->end_of_value(el_stack, key_comps, value, in_list, group_depth);
|
||||
this->end_of_value(
|
||||
el_stack, key_comps, value, in_list, group_depth, in_list.end());
|
||||
}
|
||||
|
||||
POINT_TRACE("pairup_stack");
|
||||
@ -373,6 +465,7 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
case DT_CONSTANT:
|
||||
case DT_NUMBER:
|
||||
case DT_SYMBOL:
|
||||
case DT_ID:
|
||||
case DT_HEX_NUMBER:
|
||||
case DT_OCTAL_NUMBER:
|
||||
case DT_VERSION_NUMBER:
|
||||
@ -390,7 +483,8 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
case DT_PATH:
|
||||
case DT_DATE:
|
||||
case DT_TIME:
|
||||
case DT_PERCENTAGE: {
|
||||
case DT_PERCENTAGE:
|
||||
case DNT_MEASUREMENT: {
|
||||
element_list_t ELEMENT_LIST_T(pair_subs);
|
||||
struct element blank;
|
||||
|
||||
@ -414,7 +508,8 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
= this->get_element_string(free_row.front(), key_len);
|
||||
|
||||
context.Update(key_val, key_len);
|
||||
} break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
free_row.POP_FRONT();
|
||||
@ -433,10 +528,6 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
pairs_out.PUSH_FRONT(element(pair_subs, DNT_PAIR));
|
||||
}
|
||||
|
||||
if (schema != nullptr) {
|
||||
context.Final(schema->out(0), schema->out(1));
|
||||
}
|
||||
|
||||
if (schema != nullptr && this->dp_msg_format != nullptr) {
|
||||
for (auto& fiter : pairs_out) {
|
||||
*(this->dp_msg_format) += this->get_string_up_to_value(fiter);
|
||||
@ -456,6 +547,12 @@ data_parser::pairup(data_parser::schema_id_t* schema,
|
||||
}
|
||||
*(this->dp_msg_format) += last.to_string();
|
||||
}
|
||||
context.Update(this->dp_msg_format->c_str(),
|
||||
this->dp_msg_format->length());
|
||||
}
|
||||
|
||||
if (schema != nullptr) {
|
||||
context.Final(schema->out(0), schema->out(1));
|
||||
}
|
||||
|
||||
if (pairs_out.size() > 1000) {
|
||||
@ -544,6 +641,20 @@ data_parser::discover_format()
|
||||
}
|
||||
break;
|
||||
|
||||
case DT_UNIT: {
|
||||
element_list_t measurement_list;
|
||||
|
||||
measurement_list.SPLICE(
|
||||
measurement_list.end(),
|
||||
this->dp_group_stack.back(),
|
||||
std::prev(this->dp_group_stack.back().end()),
|
||||
this->dp_group_stack.back().end());
|
||||
measurement_list.PUSH_BACK(elem);
|
||||
this->dp_group_stack.back().PUSH_BACK(
|
||||
element(measurement_list, DNT_MEASUREMENT));
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
this->dp_group_stack.back().PUSH_BACK(elem);
|
||||
break;
|
||||
@ -574,67 +685,212 @@ data_parser::end_of_value(data_parser::element_list_t& el_stack,
|
||||
data_parser::element_list_t& key_comps,
|
||||
data_parser::element_list_t& value,
|
||||
const data_parser::element_list_t& in_list,
|
||||
int group_depth)
|
||||
int group_depth,
|
||||
element_list_t::iterator iter)
|
||||
{
|
||||
key_comps.remove_if(element_if(in_list.el_format.df_terminator));
|
||||
key_comps.remove_if(element_if(DT_COMMA));
|
||||
value.remove_if(element_if(in_list.el_format.df_terminator));
|
||||
value.remove_if(element_if(DT_COMMA));
|
||||
strip(key_comps, element_is_space{});
|
||||
strip(value, element_is_space{});
|
||||
if ((el_stack.empty() || el_stack.back().e_token != DNT_KEY)
|
||||
&& value.empty() && key_comps.size() > 1
|
||||
&& (key_comps.front().e_token == DT_WORD
|
||||
|| key_comps.front().e_token == DT_SYMBOL))
|
||||
{
|
||||
element_list_t::iterator key_iter, key_end;
|
||||
bool found_value = false;
|
||||
int word_count = 0;
|
||||
key_iter = key_comps.begin();
|
||||
key_end = key_comps.begin();
|
||||
for (; key_iter != key_comps.end(); ++key_iter) {
|
||||
if (key_iter->e_token == DT_WORD || key_iter->e_token == DT_SYMBOL)
|
||||
{
|
||||
word_count += 1;
|
||||
if (found_value) {
|
||||
key_end = key_comps.begin();
|
||||
}
|
||||
} else if (key_iter->e_token == DT_WHITE
|
||||
|| key_iter->e_token == DT_CSI)
|
||||
{
|
||||
} else {
|
||||
if (!found_value) {
|
||||
key_end = key_iter;
|
||||
}
|
||||
found_value = true;
|
||||
}
|
||||
}
|
||||
if (word_count != 1) {
|
||||
key_end = key_comps.begin();
|
||||
}
|
||||
value.SPLICE(value.end(), key_comps, key_end, key_comps.end());
|
||||
strip(key_comps, element_is_space{});
|
||||
auto key_iter = key_comps.end();
|
||||
bool found = false, key_is_values = true, mixed_values = false;
|
||||
auto last_is_key = !key_comps.empty()
|
||||
&& (key_comps.back().e_token == DT_WORD
|
||||
|| key_comps.back().e_token == DT_SYMBOL);
|
||||
element_list_t ELEMENT_LIST_T(mixed_queue), ELEMENT_LIST_T(mixed_tail);
|
||||
|
||||
if (!key_comps.empty()) {
|
||||
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false));
|
||||
do {
|
||||
--key_iter;
|
||||
if (key_iter->e_token == in_list.el_format.df_appender) {
|
||||
++key_iter;
|
||||
value.SPLICE(
|
||||
value.end(), key_comps, key_comps.begin(), key_iter);
|
||||
if (!key_comps.empty()) {
|
||||
key_comps.POP_FRONT();
|
||||
}
|
||||
key_comps.CLEAR();
|
||||
found = true;
|
||||
} else if (key_iter->e_token == in_list.el_format.df_terminator) {
|
||||
value.SPLICE(
|
||||
value.end(), key_comps, key_comps.begin(), key_iter);
|
||||
key_comps.POP_FRONT();
|
||||
strip(key_comps, element_is_space{});
|
||||
if (key_comps.empty()) {
|
||||
key_iter = key_comps.end();
|
||||
} else {
|
||||
key_iter = key_comps.begin();
|
||||
}
|
||||
found = true;
|
||||
}
|
||||
if (!found && key_iter != key_comps.end()) {
|
||||
switch (key_iter->e_token) {
|
||||
case DT_WORD:
|
||||
case DT_SYMBOL:
|
||||
key_is_values = false;
|
||||
break;
|
||||
case DT_WHITE:
|
||||
break;
|
||||
case DT_ID:
|
||||
case DT_QUOTED_STRING:
|
||||
case DT_URL:
|
||||
case DT_PATH:
|
||||
case DT_MAC_ADDRESS:
|
||||
case DT_DATE:
|
||||
case DT_TIME:
|
||||
case DT_DATE_TIME:
|
||||
case DT_IPV4_ADDRESS:
|
||||
case DT_IPV6_ADDRESS:
|
||||
case DT_HEX_DUMP:
|
||||
case DT_UUID:
|
||||
case DT_CREDIT_CARD_NUMBER:
|
||||
case DT_VERSION_NUMBER:
|
||||
case DT_OCTAL_NUMBER:
|
||||
case DT_PERCENTAGE:
|
||||
case DT_NUMBER:
|
||||
case DT_HEX_NUMBER:
|
||||
case DT_EMAIL:
|
||||
case DT_CONSTANT:
|
||||
case DNT_MEASUREMENT: {
|
||||
if (((in_list.el_format.df_terminator != DT_INVALID
|
||||
&& !el_stack.empty())
|
||||
|| (key_comps.size() == 1 && mixed_queue.empty()))
|
||||
&& key_iter->e_token == DT_ID)
|
||||
{
|
||||
key_is_values = false;
|
||||
} else if (in_list.el_format.df_terminator == DT_INVALID
|
||||
|| el_stack.empty())
|
||||
{
|
||||
element_list_t ELEMENT_LIST_T(mixed_key);
|
||||
element_list_t ELEMENT_LIST_T(mixed_value);
|
||||
|
||||
mixed_values = true;
|
||||
auto value_iter = key_iter;
|
||||
if (last_is_key) {
|
||||
if (mixed_tail.empty()) {
|
||||
mixed_tail.SPLICE(mixed_tail.end(),
|
||||
key_comps,
|
||||
std::next(value_iter),
|
||||
key_comps.end());
|
||||
}
|
||||
} else {
|
||||
while (std::prev(key_comps.end()) != value_iter)
|
||||
{
|
||||
key_comps.POP_BACK();
|
||||
}
|
||||
}
|
||||
key_iter = std::next(value_iter);
|
||||
mixed_value.SPLICE(mixed_value.end(),
|
||||
key_comps,
|
||||
value_iter,
|
||||
key_iter);
|
||||
if (!el_stack.empty()
|
||||
&& el_stack.back().e_token == DNT_KEY
|
||||
&& key_comps.empty())
|
||||
{
|
||||
el_stack.PUSH_BACK(
|
||||
element(mixed_value, DNT_VALUE));
|
||||
} else {
|
||||
mixed_queue.PUSH_FRONT(
|
||||
element(mixed_value, DNT_VALUE));
|
||||
if (!key_comps.empty()) {
|
||||
if (key_comps.back().e_token == DT_WORD) {
|
||||
key_iter = std::prev(key_comps.end());
|
||||
mixed_key.SPLICE(mixed_key.end(),
|
||||
key_comps,
|
||||
key_iter,
|
||||
key_comps.end());
|
||||
mixed_queue.PUSH_FRONT(
|
||||
element(mixed_key, DNT_KEY));
|
||||
}
|
||||
}
|
||||
}
|
||||
while (!key_comps.empty()
|
||||
&& !key_comps.back().is_value())
|
||||
{
|
||||
key_comps.POP_BACK();
|
||||
}
|
||||
key_iter = key_comps.end();
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while (key_iter != key_comps.begin() && !found);
|
||||
}
|
||||
if (!mixed_queue.empty()) {
|
||||
if (el_stack.back().e_token == DNT_KEY
|
||||
&& mixed_queue.front().e_token == DNT_KEY)
|
||||
{
|
||||
el_stack.POP_BACK();
|
||||
}
|
||||
el_stack.SPLICE(el_stack.end(),
|
||||
mixed_queue,
|
||||
mixed_queue.begin(),
|
||||
mixed_queue.end());
|
||||
}
|
||||
if (!mixed_tail.empty()) {
|
||||
key_comps.CLEAR();
|
||||
key_comps.SPLICE(key_comps.end(),
|
||||
mixed_tail,
|
||||
std::prev(mixed_tail.end()),
|
||||
mixed_tail.end());
|
||||
}
|
||||
if (!mixed_values && !el_stack.empty() && !key_comps.empty()) {
|
||||
element_list_t::iterator value_iter;
|
||||
|
||||
if (el_stack.size() > 1 && in_list.el_format.df_appender != DT_INVALID
|
||||
&& in_list.el_format.df_terminator != DT_INVALID
|
||||
&& iter->e_token == in_list.el_format.df_separator)
|
||||
{
|
||||
/* If we're expecting a terminator and haven't found it */
|
||||
/* then this is part of the value. */
|
||||
return;
|
||||
}
|
||||
|
||||
value.SPLICE(
|
||||
value.end(), key_comps, key_comps.begin(), key_comps.end());
|
||||
}
|
||||
strip(value, element_is_space{});
|
||||
strip(value, element_if(DT_COLON));
|
||||
strip(value, element_is_space{});
|
||||
if (!value.empty()) {
|
||||
if (value.size() == 2 && value.back().e_token == DNT_GROUP) {
|
||||
element_list_t ELEMENT_LIST_T(group_pair);
|
||||
|
||||
group_pair.PUSH_BACK(element(value, DNT_PAIR));
|
||||
el_stack.PUSH_BACK(element(group_pair, DNT_VALUE));
|
||||
} else {
|
||||
if (value.size() == 2
|
||||
&& (value.front().e_token == DT_WORD
|
||||
|| value.front().e_token == DT_SYMBOL
|
||||
|| value.front().e_token == DT_ID)
|
||||
&& el_stack.back().e_token != DNT_KEY)
|
||||
{
|
||||
element_list_t ELEMENT_LIST_T(mixed_key);
|
||||
|
||||
mixed_key.SPLICE(mixed_key.end(),
|
||||
value,
|
||||
value.begin(),
|
||||
std::next(value.begin()));
|
||||
el_stack.PUSH_BACK(element(mixed_key, DNT_KEY, false));
|
||||
}
|
||||
}
|
||||
|
||||
strip(value, element_is_space{});
|
||||
value.remove_if(element_if(DT_COMMA));
|
||||
if (!value.empty()) {
|
||||
el_stack.PUSH_BACK(element(value, DNT_VALUE));
|
||||
}
|
||||
strip(key_comps, element_is_space{});
|
||||
if (!key_comps.empty()) {
|
||||
if (mixed_values) {
|
||||
key_is_values = false;
|
||||
while (key_comps.size() > 1) {
|
||||
key_comps.POP_FRONT();
|
||||
}
|
||||
}
|
||||
if (!key_comps.empty()) {
|
||||
if (iter == in_list.end()
|
||||
|| iter->e_token != in_list.el_format.df_separator)
|
||||
{
|
||||
key_is_values = true;
|
||||
}
|
||||
if (key_is_values) {
|
||||
el_stack.PUSH_BACK(element(key_comps, DNT_VALUE));
|
||||
} else {
|
||||
el_stack.PUSH_BACK(element(key_comps, DNT_KEY, false));
|
||||
}
|
||||
}
|
||||
}
|
||||
key_comps.CLEAR();
|
||||
value.CLEAR();
|
||||
}
|
||||
|
||||
@ -728,6 +984,7 @@ dfs_prefix_next(data_format_state_t state, data_token_t next_token)
|
||||
case DT_EMAIL:
|
||||
case DT_WORD:
|
||||
case DT_SYMBOL:
|
||||
case DT_ID:
|
||||
case DT_OCTAL_NUMBER:
|
||||
case DT_HEX_NUMBER:
|
||||
case DT_NUMBER:
|
||||
@ -1058,6 +1315,37 @@ data_parser::element::print(FILE* out, data_scanner& ds, int offset) const
|
||||
fprintf(out, " %s\n", sub.c_str());
|
||||
}
|
||||
|
||||
bool
|
||||
data_parser::element::is_value() const
|
||||
{
|
||||
switch (this->e_token) {
|
||||
case DNT_MEASUREMENT:
|
||||
case DT_ID:
|
||||
case DT_QUOTED_STRING:
|
||||
case DT_URL:
|
||||
case DT_PATH:
|
||||
case DT_MAC_ADDRESS:
|
||||
case DT_DATE:
|
||||
case DT_TIME:
|
||||
case DT_DATE_TIME:
|
||||
case DT_IPV4_ADDRESS:
|
||||
case DT_IPV6_ADDRESS:
|
||||
case DT_HEX_DUMP:
|
||||
case DT_UUID:
|
||||
case DT_CREDIT_CARD_NUMBER:
|
||||
case DT_VERSION_NUMBER:
|
||||
case DT_OCTAL_NUMBER:
|
||||
case DT_PERCENTAGE:
|
||||
case DT_NUMBER:
|
||||
case DT_HEX_NUMBER:
|
||||
case DT_EMAIL:
|
||||
case DT_CONSTANT:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
data_parser::discover_format_state::discover_format_state()
|
||||
: dfs_prefix_state(DFS_INIT), dfs_semi_state(DFS_INIT),
|
||||
dfs_comma_state(DFS_INIT)
|
||||
@ -1102,6 +1390,8 @@ data_parser::discover_format_state::finalize()
|
||||
} else if (this->dfs_comma_state != DFS_ERROR) {
|
||||
if (this->dfs_hist[DT_COMMA] > 0) {
|
||||
this->dfs_format = FORMAT_COMMA;
|
||||
} else if (this->dfs_hist[DT_EMDASH] > 0) {
|
||||
this->dfs_format = FORMAT_EMDASH;
|
||||
}
|
||||
if (separator == DT_COLON && this->dfs_hist[DT_COMMA] > 0) {
|
||||
if (!((this->dfs_hist[DT_COLON] == this->dfs_hist[DT_COMMA])
|
||||
@ -1109,7 +1399,7 @@ data_parser::discover_format_state::finalize()
|
||||
== this->dfs_hist[DT_COMMA])))
|
||||
{
|
||||
separator = DT_INVALID;
|
||||
if (this->dfs_hist[DT_COLON] == 1) {
|
||||
if (this->dfs_hist[DT_COLON] > 0) {
|
||||
prefix_term = DT_COLON;
|
||||
}
|
||||
}
|
||||
@ -1120,3 +1410,17 @@ data_parser::discover_format_state::finalize()
|
||||
this->dfs_format.df_separator = separator;
|
||||
this->dfs_format.df_prefix_terminator = prefix_term;
|
||||
}
|
||||
|
||||
void
|
||||
data_parser::element_list_t::push_back(const data_parser::element& elem,
|
||||
const char* fn,
|
||||
int line)
|
||||
{
|
||||
ELEMENT_TRACE;
|
||||
|
||||
require(elem.e_capture.c_end >= -1);
|
||||
require(this->empty()
|
||||
|| (elem.e_capture.c_begin == -1 && elem.e_capture.c_end == -1)
|
||||
|| this->back().e_capture.c_end <= elem.e_capture.c_begin);
|
||||
this->std::list<element>::push_back(elem);
|
||||
}
|
||||
|
@ -209,6 +209,7 @@ class data_parser {
|
||||
public:
|
||||
static data_format FORMAT_SEMI;
|
||||
static data_format FORMAT_COMMA;
|
||||
static data_format FORMAT_EMDASH;
|
||||
static data_format FORMAT_PLAIN;
|
||||
|
||||
static FILE* TRACE_FILE;
|
||||
@ -259,13 +260,7 @@ public:
|
||||
this->std::list<element>::push_front(elem);
|
||||
}
|
||||
|
||||
void push_back(const element& elem, const char* fn, int line)
|
||||
{
|
||||
ELEMENT_TRACE;
|
||||
|
||||
require(elem.e_capture.c_end >= -1);
|
||||
this->std::list<element>::push_back(elem);
|
||||
}
|
||||
void push_back(const element& elem, const char* fn, int line);
|
||||
|
||||
void pop_front(const char* fn, int line)
|
||||
{
|
||||
@ -335,6 +330,8 @@ public:
|
||||
|
||||
const element& get_pair_elem() const;
|
||||
|
||||
bool is_value() const;
|
||||
|
||||
void print(FILE* out, data_scanner&, int offset = 0) const;
|
||||
|
||||
data_scanner::capture_t e_capture;
|
||||
@ -402,7 +399,8 @@ public:
|
||||
element_list_t& key_comps,
|
||||
element_list_t& value,
|
||||
const element_list_t& in_list,
|
||||
int group_depth);
|
||||
int group_depth,
|
||||
element_list_t::iterator iter);
|
||||
|
||||
void parse();
|
||||
|
||||
|
@ -112,6 +112,9 @@ static struct {
|
||||
{
|
||||
"semi",
|
||||
},
|
||||
{
|
||||
"emda",
|
||||
},
|
||||
|
||||
{
|
||||
"empt",
|
||||
@ -181,9 +184,15 @@ static struct {
|
||||
{
|
||||
"word",
|
||||
},
|
||||
{
|
||||
"id",
|
||||
},
|
||||
{
|
||||
"sym",
|
||||
},
|
||||
{
|
||||
"unit",
|
||||
},
|
||||
{
|
||||
"line",
|
||||
},
|
||||
@ -275,3 +284,23 @@ data_scanner::is_credit_card(string_fragment cc) const
|
||||
|
||||
return double_even_sum % 10 == 0;
|
||||
}
|
||||
|
||||
void
|
||||
data_scanner::cleanup_end()
|
||||
{
|
||||
auto done = false;
|
||||
|
||||
while (!this->ds_input.empty() && !done) {
|
||||
switch (this->ds_input.back()) {
|
||||
case '.':
|
||||
case ' ':
|
||||
case '\r':
|
||||
case '\n':
|
||||
this->ds_input.pop_back();
|
||||
break;
|
||||
default:
|
||||
done = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -64,6 +64,7 @@ enum data_token_t {
|
||||
DT_EQUALS,
|
||||
DT_COMMA,
|
||||
DT_SEMI,
|
||||
DT_EMDASH,
|
||||
|
||||
DT_EMPTY_CONTAINER,
|
||||
|
||||
@ -92,7 +93,9 @@ enum data_token_t {
|
||||
DT_EMAIL,
|
||||
DT_CONSTANT,
|
||||
DT_WORD,
|
||||
DT_ID,
|
||||
DT_SYMBOL,
|
||||
DT_UNIT,
|
||||
DT_LINE,
|
||||
DT_WHITE,
|
||||
DT_DOT,
|
||||
@ -107,7 +110,7 @@ enum data_token_t {
|
||||
|
||||
DT_TERMINAL_MAX = DT_DIFF_HUNK_HEADING + 1,
|
||||
|
||||
DNT_KEY = 52,
|
||||
DNT_KEY = 54,
|
||||
DNT_PAIR,
|
||||
DNT_VALUE,
|
||||
DNT_ROW,
|
||||
@ -157,25 +160,19 @@ public:
|
||||
: ds_line(line), ds_input(this->ds_line), ds_init_offset(off),
|
||||
ds_next_offset(off)
|
||||
{
|
||||
if (!line.empty() && line.back() == '.') {
|
||||
this->ds_input.sf_end -= 1;
|
||||
}
|
||||
this->cleanup_end();
|
||||
}
|
||||
|
||||
explicit data_scanner(string_fragment sf) : ds_input(sf)
|
||||
{
|
||||
if (!sf.empty() && sf.back() == '.') {
|
||||
this->ds_input.sf_end -= 1;
|
||||
}
|
||||
this->cleanup_end();
|
||||
}
|
||||
|
||||
explicit data_scanner(shared_buffer_ref& line, size_t off, size_t end)
|
||||
: ds_sbr(line), ds_input(line.to_string_fragment().sub_range(0, end)),
|
||||
ds_init_offset(off), ds_next_offset(off)
|
||||
{
|
||||
if (!this->ds_input.empty() && this->ds_input.back() == '.') {
|
||||
this->ds_input.sf_end -= 1;
|
||||
}
|
||||
this->cleanup_end();
|
||||
}
|
||||
|
||||
struct tokenize_result {
|
||||
@ -213,6 +210,8 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
void cleanup_end();
|
||||
|
||||
bool is_credit_card(string_fragment frag) const;
|
||||
|
||||
std::string ds_line;
|
||||
@ -221,6 +220,7 @@ private:
|
||||
int ds_init_offset{0};
|
||||
int ds_next_offset{0};
|
||||
bool ds_bol{true};
|
||||
bool ds_units{false};
|
||||
};
|
||||
|
||||
#endif
|
||||
|
156819
src/data_scanner_re.cc
156819
src/data_scanner_re.cc
File diff suppressed because it is too large
Load Diff
@ -101,6 +101,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
_YYCURSOR yyt1;
|
||||
_YYCURSOR yyt2;
|
||||
_YYCURSOR yyt3;
|
||||
_YYCURSOR yyt4;
|
||||
_YYCURSOR hunk_heading;
|
||||
const YYCTYPE *YYLIMIT = (const unsigned char *) this->ds_input.end();
|
||||
const YYCTYPE *YYMARKER = YYCURSOR;
|
||||
@ -121,6 +122,10 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
c = yycbol;
|
||||
}
|
||||
this->ds_bol = false;
|
||||
if (this->ds_units) {
|
||||
c = yycunits;
|
||||
}
|
||||
this->ds_units = false;
|
||||
|
||||
YYCURSOR.lim = YYLIMIT;
|
||||
|
||||
@ -161,6 +166,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
"::"('ffff'(":0"{1,4}){0,1}":"){0,1}IPV4ADDR|
|
||||
(IPV6SEG":"){1,4}":"IPV4ADDR
|
||||
);
|
||||
UNITS = (([mup]?("s"|"S"))|(([kKmMgG]"i"?)?[bB])|("m"|"min"));
|
||||
|
||||
<init, bol> EOF { return nonstd::nullopt; }
|
||||
<init, bol> [\x00] { return nonstd::nullopt; }
|
||||
@ -202,7 +208,6 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
RET(DT_COMMENT);
|
||||
}
|
||||
<init, bol> "#[" "="* "[" ([^\x00\]]|"]" [^\x00=\]])* "]" "="* "]" {
|
||||
|
||||
RET(DT_COMMENT);
|
||||
}
|
||||
|
||||
@ -214,8 +219,8 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
if (tf == text_format_t::TF_RUST) {
|
||||
auto sf = this->to_string_fragment(cap_all);
|
||||
auto split_res = sf.split_when([](char ch) { return ch != '\'' && !isalnum(ch); });
|
||||
cap_all.c_end = split_res.first.sf_end;
|
||||
cap_inner.c_end = split_res.first.sf_end;
|
||||
cap_all.c_end = split_res.first.sf_end - this->ds_input.sf_begin;
|
||||
cap_inner.c_end = split_res.first.sf_end - this->ds_input.sf_begin;
|
||||
this->ds_next_offset = cap_all.c_end;
|
||||
return tokenize_result{DT_SYMBOL, cap_all, cap_inner, this->ds_input.data()};
|
||||
}
|
||||
@ -250,7 +255,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
<init, bol> (NUM{4}"/"NUM{1,2}"/"NUM{1,2}|NUM{4}"-"NUM{1,2}"-"NUM{1,2}|NUM{2}"/"ALPHA{3}"/"NUM{4}) {
|
||||
RET(DT_DATE);
|
||||
}
|
||||
<init, bol> IPV6ADDR/[^:a-zA-Z0-9] { RET(DT_IPV6_ADDRESS); }
|
||||
<init, bol> IPV6ADDR/(": "|[^:a-zA-Z0-9]) { RET(DT_IPV6_ADDRESS); }
|
||||
|
||||
<init, bol> "<!"[a-zA-Z0-9_:\-]+SPACE*([a-zA-Z0-9_:\-]+(SPACE*'='SPACE*('"'(('\\'[^\x00]|[^\x00"\\])+)'"'|"'"(('\\'[^\x00]|[^\x00'\\])+)"'"|[^\x00>]+))?|SPACE*('"'(('\\'[^\x00]|[^\x00"\\])+)'"'|"'"(('\\'[^\x00]|[^\x00'\\])+)"'"))*SPACE*">" {
|
||||
RET(DT_XML_DECL_TAG);
|
||||
@ -312,6 +317,7 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
<init, bol> "=" { RET(DT_EQUALS); }
|
||||
<init, bol> "," { RET(DT_COMMA); }
|
||||
<init, bol> ";" { RET(DT_SEMI); }
|
||||
<init, bol> "--"/[^\-] { RET(DT_EMDASH); }
|
||||
<init, bol> "()" | "{}" | "[]" { RET(DT_EMPTY_CONTAINER); }
|
||||
<init, bol> "{" { RET(DT_LCURLY); }
|
||||
<init, bol> "}" { RET(DT_RCURLY); }
|
||||
@ -336,20 +342,50 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
cap_inner.c_end = cap_inner.c_begin + 4;
|
||||
}
|
||||
this->ds_next_offset = cap_all.c_end;
|
||||
token_out = DT_NUMBER;
|
||||
token_out = DT_HEX_DUMP;
|
||||
}
|
||||
return tokenize_result{token_out, cap_all, cap_inner, this->ds_input.data()};
|
||||
}
|
||||
|
||||
<init, bol> [0-9]"."[0-9]+'e'[\-\+][0-9]+ { RET(DT_NUMBER); }
|
||||
<init, bol> ("-"|"+")?[0-9]"."[0-9]+([eE][\-\+][0-9]+)?UNITS? {
|
||||
CAPTURE(DT_NUMBER);
|
||||
auto sf = this->to_string_fragment(cap_all);
|
||||
if (isalpha(sf.back())) {
|
||||
while (isalpha(sf.back())) {
|
||||
sf.pop_back();
|
||||
}
|
||||
cap_all.c_end = sf.sf_end - this->ds_input.sf_begin;
|
||||
cap_inner.c_end = sf.sf_end - this->ds_input.sf_begin;
|
||||
this->ds_next_offset = cap_all.c_end;
|
||||
this->ds_units = true;
|
||||
}
|
||||
return tokenize_result{DT_NUMBER, cap_all, cap_inner, this->ds_input.data()};
|
||||
}
|
||||
|
||||
<init, bol> [0-9]+("."[0-9]+[a-zA-Z0-9_]*){2,}("-"[a-zA-Z0-9_]+)?|[0-9]+("."[0-9]+[a-zA-Z0-9_]*)+"-"[a-zA-Z0-9_]+ {
|
||||
RET(DT_VERSION_NUMBER);
|
||||
}
|
||||
|
||||
<units> UNITS {
|
||||
RET(DT_UNIT);
|
||||
}
|
||||
|
||||
<init, bol> "-"?"0"[0-7]+ { RET(DT_OCTAL_NUMBER); }
|
||||
<init, bol> "-"?[0-9]+("."[0-9]+)?[ ]*"%" { RET(DT_PERCENTAGE); }
|
||||
<init, bol> "-"?[0-9]+("."[0-9]+)?([eE][\-+][0-9]+)? { RET(DT_NUMBER); }
|
||||
<init, bol> ("0"|("-"|"+")?[1-9][0-9]*("."[0-9]+)?([eE][\-+][0-9]+)?)UNITS? {
|
||||
CAPTURE(DT_NUMBER);
|
||||
auto sf = this->to_string_fragment(cap_all);
|
||||
if (isalpha(sf.back())) {
|
||||
while (isalpha(sf.back())) {
|
||||
sf.pop_back();
|
||||
}
|
||||
cap_all.c_end = sf.sf_end - this->ds_input.sf_begin;
|
||||
cap_inner.c_end = sf.sf_end - this->ds_input.sf_begin;
|
||||
this->ds_next_offset = cap_all.c_end;
|
||||
this->ds_units = true;
|
||||
}
|
||||
return tokenize_result{DT_NUMBER, cap_all, cap_inner, this->ds_input.data()};
|
||||
}
|
||||
<init, bol> "-"?("0x"|[0-9])[0-9a-fA-F]+ { RET(DT_HEX_NUMBER); }
|
||||
|
||||
<init, bol> [a-zA-Z0-9\._%+-]+"@"[a-zA-Z0-9\.-]+"."[a-zA-Z]+ { RET(DT_EMAIL); }
|
||||
@ -358,10 +394,22 @@ nonstd::optional<data_scanner::tokenize_result> data_scanner::tokenize2(text_for
|
||||
|
||||
<init, bol> ("re-")?[a-zA-Z][a-z']+/([\r\n\t \(\)!\*:;'\"\?,]|[\.\!,\?]SPACE|EOF) { RET(DT_WORD); }
|
||||
|
||||
<init, bol> [^\x00\x16\x1b"; \t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\][^\x00\x16\x1b"; \t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]*("::"[^\x00\x16\x1b"; \r\n\t:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]+)* {
|
||||
<init, bol> ("--"|"++")[a-zA-Z0-9]+("-"[a-zA-Z0-9]+)* {
|
||||
RET(DT_SYMBOL);
|
||||
}
|
||||
|
||||
<init, bol> ("-"|"+")[a-zA-Z0-9]+/[\x00 \t\r\n] {
|
||||
RET(DT_SYMBOL);
|
||||
}
|
||||
|
||||
<init, bol> [^0-9\x00\x16\x1b"; \-\t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\][^\x00\x16\x1b"; \-\t\r\n:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]*("::"[^\x00\x16\x1b"; \r\n\t:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]+)* {
|
||||
RET(DT_SYMBOL);
|
||||
}
|
||||
|
||||
<init, bol> [^\x00\x16\x1b"; \t\r\n\-:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\][^\x00\x16\x1b"; \t\r\n\-:=,\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\.\\]*(("::"|"."|"-")[^\x00\x16\x1b"; \r\n\t:=,\.\-\(\)\{\}\[\]\+#!%\^&\*'\?<>\~`\|\\]+)* {
|
||||
RET(DT_ID);
|
||||
}
|
||||
|
||||
<init, bol> ("\r"?"\n"|"\\n") {
|
||||
this->ds_bol = true;
|
||||
RET(DT_LINE);
|
||||
|
@ -105,6 +105,9 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
|
||||
lr.lr_start += 1;
|
||||
}
|
||||
|
||||
for (const auto& attr : sa) {
|
||||
require_ge(attr.sa_range.lr_start, 0);
|
||||
}
|
||||
int left = 0;
|
||||
for (size_t lpc = 0; lpc < this->dls_headers.size(); lpc++) {
|
||||
auto row_view = scn::string_view{this->dls_rows[row][lpc]};
|
||||
@ -116,6 +119,10 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
|
||||
if (num_scan_res) {
|
||||
this->dls_chart.chart_attrs_for_value(
|
||||
tc, left, hm.hm_name, num_scan_res.value(), sa);
|
||||
|
||||
for (const auto& attr : sa) {
|
||||
require_ge(attr.sa_range.lr_start, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (row_view.length() > 2 && row_view.length() < MAX_JSON_WIDTH
|
||||
@ -142,6 +149,8 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
|
||||
jpw_value.wt_ptr,
|
||||
num_scan_res.value(),
|
||||
sa);
|
||||
for (const auto& attr : sa) {
|
||||
require_ge(attr.sa_range.lr_start, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -149,6 +158,11 @@ db_label_source::text_attrs_for_line(textview_curses& tc,
|
||||
}
|
||||
}
|
||||
|
||||
for (const auto& attr : sa) {
|
||||
require_ge(attr.sa_range.lr_start, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
db_label_source::push_header(const std::string& colstr,
|
||||
int type,
|
||||
@ -446,6 +460,8 @@ db_overlay_source::list_static_overlay(const listview_curses& lv,
|
||||
|
||||
struct line_range header_range(line_len_before, line.length());
|
||||
|
||||
require_ge(header_range.lr_start, 0);
|
||||
|
||||
text_attrs attrs;
|
||||
if (this->dos_labels->dls_headers[lpc].hm_graphable) {
|
||||
attrs
|
||||
|
@ -41,7 +41,11 @@ element_to_json(yajl_gen gen, data_parser& dp, const data_parser::element& elem)
|
||||
|
||||
switch (elem.value_token()) {
|
||||
case DT_NUMBER: {
|
||||
yajl_gen_number(gen, value_str, value_len);
|
||||
auto leading_plus = value_str[0] == '+';
|
||||
|
||||
yajl_gen_number(gen,
|
||||
leading_plus ? value_str + 1 : value_str,
|
||||
leading_plus ? value_len - 1 : value_len);
|
||||
break;
|
||||
}
|
||||
case DNT_GROUP: {
|
||||
@ -49,6 +53,11 @@ element_to_json(yajl_gen gen, data_parser& dp, const data_parser::element& elem)
|
||||
gen, dp, elem.get_value_elem().e_sub_elements, false);
|
||||
break;
|
||||
}
|
||||
case DNT_MEASUREMENT: {
|
||||
elements_to_json(
|
||||
gen, dp, elem.get_value_elem().e_sub_elements, false);
|
||||
break;
|
||||
}
|
||||
case DNT_PAIR: {
|
||||
const data_parser::element& pair_elem = elem.get_pair_elem();
|
||||
const auto key_str
|
||||
|
@ -80,6 +80,9 @@
|
||||
},
|
||||
{
|
||||
"line": "2023-08-09T14:42:43.094Z In(14) settingsd[263657]: debug [ConfigStore:c5f9ac2700 opId=cabbdb94-0afb-4d23-9203-e901779b9b04] [RunCommand] About to run command /usr/bin/python /usr/lib/vmware/lifecycle/bin/imagemanagerctl.py VIB --list-all"
|
||||
},
|
||||
{
|
||||
"line": "2022-05-17T07:39:38.357Z In(9) watchdog-vobd[1001390409]: Executing '/usr/lib/vmware/vob/bin/vobd ++securitydom=vobdDom'"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
"url": "https://kb.vmware.com/kb/2004201",
|
||||
"regex": {
|
||||
"6.0+": {
|
||||
"pattern": "^(?:\\[#\\d+\\] )?(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? (?:\\w+ -\\[\\d+\\] )?\\[(?<src>[\\w:]+(?:@\\d+)?)(?:\\s+sub=(?<sub>.*?(?!\\w+=)))?(?:\\s+item=(?<item>[\\w\\.\\-@/:]+))?(?: req=(?<req>[^ \\]]+))?(?: opI(?:D|d)=(?<opid>(?:req=)?[\\w@ \\-\\.:]+?(?!\\w+=)))?(?: sid=(?<sid>[^ \\]]+))?(?: user=(?<user>[^ \\]<]+(?:<[^>]+>)?))?(?: update=(?<vpxa_update>\\d+))?(?:\\s+reason=(?<reason>[^\\]]+))?\\]\\s+(?:\\[(?<file>[^ ]+)\\s+(?<line>\\d+)\\]\\s+)?(?<body>.*)$"
|
||||
"pattern": "^(?:\\[#\\d+\\] )?(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? (?:\\w+ -\\[\\d+\\] )?\\[(?<src>[a-zA-Z][\\w:]*(?:@\\d+)?)(?:\\s+sub=(?<sub>.*?(?!\\w+=)))?(?:\\s+item=(?<item>[\\w\\.\\-@/:]+))?(?: req=(?<req>[^ \\]]+))?(?: opI(?:D|d)=(?<opid>(?:req=)?[\\w@ \\-\\.:]+?(?!\\w+=)))?(?: sid=(?<sid>[^ \\]]+))?(?: user=(?<user>[^ \\]<]+(?:<[^>]+>)?))?(?: update=(?<vpxa_update>\\d+))?(?:\\s+reason=(?<reason>[^\\]]+))?\\]\\s+(?:\\[(?<file>[^ ]+)\\s+(?<line>\\d+)\\]\\s+)?(?<body>.*)$"
|
||||
},
|
||||
"6.0+-nosrc": {
|
||||
"pattern": "^(?<timestamp>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}(?:Z|[-+]\\d{2}:\\d{2})) (?<level>\\w+)(?:\\(\\d+\\)+)? (?<prc>[\\w\\-]+)\\[(?<tid>\\w+)\\]:? \\[(?:opI(?:D|d)=(?<opid>[^\\]]+))\\]\\s*(?<body>.*)$"
|
||||
|
@ -92,7 +92,8 @@ public:
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool attrs_in_use(const text_attrs& attrs) const {
|
||||
bool attrs_in_use(const text_attrs& attrs) const
|
||||
{
|
||||
for (const auto& ident : this->sbc_idents) {
|
||||
if (ident.ci_attrs == attrs) {
|
||||
return true;
|
||||
@ -205,18 +206,24 @@ public:
|
||||
}
|
||||
|
||||
if (this->sbc_show_state.template is<show_all>()) {
|
||||
if (width < this->sbc_idents.size()) {
|
||||
avail_width = 0;
|
||||
} else {
|
||||
avail_width = width - this->sbc_idents.size();
|
||||
}
|
||||
} else {
|
||||
avail_width = width - 1;
|
||||
}
|
||||
if (avail_width > (this->sbc_left + this->sbc_right)) {
|
||||
avail_width -= this->sbc_left + this->sbc_right;
|
||||
}
|
||||
|
||||
lr.lr_start = left;
|
||||
|
||||
const auto& ci = this->sbc_idents[ident_index];
|
||||
int amount;
|
||||
|
||||
if (value == 0.0) {
|
||||
if (value == 0.0 || avail_width < 0) {
|
||||
amount = 0;
|
||||
} else if ((overall_stats.bs_max_value - 0.01) <= value
|
||||
&& value <= (overall_stats.bs_max_value + 0.01))
|
||||
@ -228,6 +235,7 @@ public:
|
||||
amount = (int) rint(percent * avail_width);
|
||||
amount = std::max(1, amount);
|
||||
}
|
||||
require_ge(amount, 0);
|
||||
lr.lr_end = left = lr.lr_start + amount;
|
||||
|
||||
if (!ci.ci_attrs.empty() && !lr.empty()) {
|
||||
|
@ -796,7 +796,9 @@ line_buffer::fill_range(file_off_t start, ssize_t max_length)
|
||||
this->lb_alt_line_has_ansi.clear();
|
||||
this->lb_stats.s_used_preloads += 1;
|
||||
}
|
||||
if (this->in_range(start) && this->in_range(start + max_length - 1)) {
|
||||
if (this->in_range(start)
|
||||
&& (max_length == 0 || this->in_range(start + max_length - 1)))
|
||||
{
|
||||
/* Cache already has the data, nothing to do. */
|
||||
retval = true;
|
||||
if (!lnav::pid::in_child && this->lb_seekable && this->lb_buffer.full()
|
||||
|
@ -421,6 +421,10 @@ listview_curses::do_update()
|
||||
} else if (row < (int) row_count) {
|
||||
auto& al = rows[row - this->lv_top];
|
||||
|
||||
for (const auto& attr : al.get_attrs()) {
|
||||
require_ge(attr.sa_range.lr_start, 0);
|
||||
}
|
||||
|
||||
size_t remaining = 0;
|
||||
do {
|
||||
remaining = mvwattrline(this->lv_window,
|
||||
|
@ -1055,9 +1055,13 @@ logfile::read_full_message(logfile::const_iterator ll,
|
||||
auto read_result = this->lf_line_buffer.read_range(range_for_line);
|
||||
|
||||
if (read_result.isErr()) {
|
||||
log_error("unable to read range %d:%d",
|
||||
auto errmsg = read_result.unwrapErr();
|
||||
log_error("%s:%d:unable to read range %d:%d -- %s",
|
||||
this->get_unique_path().c_str(),
|
||||
std::distance(this->cbegin(), ll),
|
||||
range_for_line.fr_offset,
|
||||
range_for_line.fr_size);
|
||||
range_for_line.fr_size,
|
||||
errmsg.c_str());
|
||||
return;
|
||||
}
|
||||
msg_out = read_result.unwrap();
|
||||
|
@ -790,6 +790,10 @@ readline_curses::start()
|
||||
}
|
||||
this->rc_pty[RCF_SLAVE] = slave_open_res.unwrap();
|
||||
|
||||
if (ioctl(this->rc_pty[RCF_SLAVE], TIOCSWINSZ, &ws) == -1) {
|
||||
throw error(errno);
|
||||
}
|
||||
|
||||
this->rc_pty[RCF_MASTER].close_on_exec();
|
||||
this->rc_pty[RCF_SLAVE].close_on_exec();
|
||||
|
||||
|
@ -484,6 +484,10 @@ textview_curses::textview_value_for_row(vis_line_t row, attr_line_t& value_out)
|
||||
this->tc_sub_source->text_value_for_line(*this, row, str);
|
||||
this->tc_sub_source->text_attrs_for_line(*this, row, sa);
|
||||
|
||||
for (const auto& attr : sa) {
|
||||
require_ge(attr.sa_range.lr_start, 0);
|
||||
}
|
||||
|
||||
scrub_ansi_string(str, &sa);
|
||||
struct line_range body, orig_line;
|
||||
|
||||
|
@ -258,7 +258,7 @@ view_curses::mvwattrline(WINDOW* window,
|
||||
}
|
||||
|
||||
std::stable_sort(sa.begin(), sa.end());
|
||||
for (auto iter = sa.begin(); iter != sa.end(); ++iter) {
|
||||
for (auto iter = sa.cbegin(); iter != sa.cend(); ++iter) {
|
||||
auto attr_range = iter->sa_range;
|
||||
|
||||
require(attr_range.lr_start >= 0);
|
||||
|
@ -1,13 +1,15 @@
|
||||
current speed: 38 mph
|
||||
key 0:0
|
||||
key 0:13 ^-----------^ current speed
|
||||
pair 0:13 ^-----------^ current speed
|
||||
key 15:15 ^
|
||||
num 15:17 ^^ 38
|
||||
pair 15:17 ^^ 38
|
||||
val 15:17 ^^ 38
|
||||
pair 0:17 ^---------------^ current speed: 38
|
||||
key 18:18 ^
|
||||
word 18:21 ^-^ mph
|
||||
val 18:21 ^-^ mph
|
||||
pair 18:21 ^-^ mph
|
||||
msg :current speed: 38 mph
|
||||
format :#: # mph
|
||||
format :current speed: # #
|
||||
{
|
||||
"col_0": "current speed",
|
||||
"col_1": 38
|
||||
"current speed": 38,
|
||||
"col_0": "mph"
|
||||
}
|
||||
|
@ -1,8 +1,5 @@
|
||||
FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names)])
|
||||
key 0:0
|
||||
sym 0:8 ^------^ FSChange
|
||||
pair 0:8 ^------^ FSChange
|
||||
key 9:9 ^
|
||||
key 0:8 ^------^ FSChange
|
||||
key 9:9 ^
|
||||
sym 9:27 ^----------------^ Direction.DOWNLOAD
|
||||
val 9:27 ^----------------^ Direction.DOWNLOAD
|
||||
@ -13,19 +10,17 @@ pair 9:27 ^----------------^
|
||||
pair 29:42 ^-----------^ Action.CREATE
|
||||
key 44:48 ^--^ name
|
||||
word 49:55 ^----^ Fanime
|
||||
wspc 55:56 ^
|
||||
num 56:60 ^--^ 2015
|
||||
val 49:60 ^---------^ Fanime 2015
|
||||
pair 44:60 ^--------------^ name=Fanime 2015
|
||||
key 62:67 ^---^ route
|
||||
key 69:79 ^--------^ CloudEntry
|
||||
key 80:86 ^----^ doc_id
|
||||
sym 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
|
||||
id 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
|
||||
val 87:131 ^------------------------------------------^ 1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
|
||||
pair 80:131 ^-------------------------------------------------^ doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg
|
||||
key 132:140 ^------^ filename
|
||||
word 141:145 ^--^ Baby
|
||||
wspc 145:146 ^
|
||||
word 146:151 ^---^ Names
|
||||
val 141:151 ^--------^ Baby Names
|
||||
pair 132:151 ^-----------------^ filename=Baby Names
|
||||
@ -36,12 +31,12 @@ pair 69:151
|
||||
val 69:151 ^--------------------------------------------------------------------------------^ CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
|
||||
pair 62:151 ^---------------------------------------------------------------------------------------^ route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
|
||||
grp 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
|
||||
pair 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
|
||||
val 9:151 ^--------------------------------------------------------------------------------------------------------------------------------------------^ Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
|
||||
pair 0:151 ^-----------------------------------------------------------------------------------------------------------------------------------------------------^ FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names
|
||||
msg :FSChange(Direction.DOWNLOAD, Action.CREATE, name=Fanime 2015, route=[CloudEntry(doc_id=1g5Yho6JmysVGRO-Xmfurra_cQRFb0nTIfZRhGompweg,filename=Baby Names)])
|
||||
format :#(#)])
|
||||
format :FSChange(#)])
|
||||
{
|
||||
"col_0": "FSChange",
|
||||
"col_1": {
|
||||
"FSChange": {
|
||||
"col_0": "Direction.DOWNLOAD",
|
||||
"col_1": "Action.CREATE",
|
||||
"name": "Fanime 2015",
|
||||
|
@ -1,5 +1,5 @@
|
||||
Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False)]
|
||||
key 31:31 ^
|
||||
key 0:29 ^---------------------------^ Worker successfully completed
|
||||
key 31:46 ^-------------^ ImmutableChange
|
||||
key 47:47 ^
|
||||
sym 47:63 ^--------------^ Direction.UPLOAD
|
||||
@ -10,15 +10,17 @@ pair 47:63 ^--------------^
|
||||
val 65:78 ^-----------^ Action.CREATE
|
||||
pair 65:78 ^-----------^ Action.CREATE
|
||||
key 80:83 ^-^ ino
|
||||
sym 84:91 ^-----^ LocalID
|
||||
quot 84:84 ^
|
||||
val 84:84 ^
|
||||
pair 80:84 ^--^ ino=
|
||||
key 84:91 ^-----^ LocalID
|
||||
key 92:97 ^---^ inode
|
||||
num 98:105 ^-----^ 5567236
|
||||
val 98:105 ^-----^ 5567236
|
||||
pair 92:105 ^-----------^ inode=5567236
|
||||
grp 92:105 ^-----------^ inode=5567236
|
||||
val 92:105 ^-----------^ inode=5567236
|
||||
pair 84:105 ^-------------------^ LocalID(inode=5567236
|
||||
val 84:105 ^-------------------^ LocalID(inode=5567236
|
||||
pair 80:105 ^-----------------------^ ino=LocalID(inode=5567236
|
||||
key 108:112 ^--^ path
|
||||
quot 115:140 ^-----------------------^ /Users/stack/Google Drive
|
||||
val 115:140 ^-----------------------^ /Users/stack/Google Drive
|
||||
@ -28,15 +30,17 @@ quot 150:167
|
||||
val 150:167 ^---------------^ pyjsonpath1.patch
|
||||
pair 143:167 ^----------------------^ name=u'pyjsonpath1.patch
|
||||
key 170:180 ^--------^ parent_ino
|
||||
sym 181:188 ^-----^ LocalID
|
||||
quot 181:181 ^
|
||||
val 181:181 ^
|
||||
pair 170:181 ^---------^ parent_ino=
|
||||
key 181:188 ^-----^ LocalID
|
||||
key 189:194 ^---^ inode
|
||||
num 195:203 ^------^ 46166734
|
||||
val 195:203 ^------^ 46166734
|
||||
pair 189:203 ^------------^ inode=46166734
|
||||
grp 189:203 ^------------^ inode=46166734
|
||||
val 189:203 ^------------^ inode=46166734
|
||||
pair 181:203 ^--------------------^ LocalID(inode=46166734
|
||||
val 181:203 ^--------------------^ LocalID(inode=46166734
|
||||
pair 170:203 ^-------------------------------^ parent_ino=LocalID(inode=46166734
|
||||
key 206:215 ^-------^ is_folder
|
||||
cnst 216:221 ^---^ False
|
||||
val 216:221 ^---^ False
|
||||
@ -45,31 +49,46 @@ pair 206:221
|
||||
val 47:221 ^----------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
|
||||
pair 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
|
||||
grp 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
|
||||
pair 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
|
||||
val 31:221 ^--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
|
||||
pair 0:221 ^---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^ Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False
|
||||
msg :Worker successfully completed [ImmutableChange(Direction.UPLOAD, Action.CREATE, ino=LocalID(inode=5567236), path=u'/Users/stack/Google Drive', name=u'pyjsonpath1.patch', parent_ino=LocalID(inode=46166734), is_folder=False)]
|
||||
format :Worker successfully completed [#)]
|
||||
[
|
||||
{
|
||||
"ImmutableChange": {
|
||||
"col_0": "Direction.UPLOAD",
|
||||
"col_1": "Action.CREATE",
|
||||
"ino": {
|
||||
"Worker successfully completed": [
|
||||
{
|
||||
"ImmutableChange": [
|
||||
"Direction.UPLOAD",
|
||||
"Action.CREATE",
|
||||
{
|
||||
"ino": ""
|
||||
},
|
||||
{
|
||||
"LocalID": [
|
||||
{
|
||||
"inode": 5567236
|
||||
}
|
||||
]
|
||||
},
|
||||
"path": "/Users/stack/Google Drive",
|
||||
"name": "pyjsonpath1.patch",
|
||||
"parent_ino": {
|
||||
{
|
||||
"path": "/Users/stack/Google Drive"
|
||||
},
|
||||
{
|
||||
"name": "pyjsonpath1.patch"
|
||||
},
|
||||
{
|
||||
"parent_ino": ""
|
||||
},
|
||||
{
|
||||
"LocalID": [
|
||||
{
|
||||
"inode": 46166734
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"is_folder": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
list [foo(bar=1)]
|
||||
key 6:6 ^
|
||||
key 0:4 ^--^ list
|
||||
key 6:9 ^-^ foo
|
||||
key 10:13 ^-^ bar
|
||||
num 14:15 ^ 1
|
||||
@ -9,10 +9,12 @@ pair 10:15 ^---^ bar=1
|
||||
val 10:15 ^---^ bar=1
|
||||
pair 6:15 ^-------^ foo(bar=1
|
||||
grp 6:15 ^-------^ foo(bar=1
|
||||
pair 6:15 ^-------^ foo(bar=1
|
||||
val 6:15 ^-------^ foo(bar=1
|
||||
pair 0:15 ^-------------^ list [foo(bar=1
|
||||
msg :list [foo(bar=1)]
|
||||
format :list [#)]
|
||||
[
|
||||
{
|
||||
"list": [
|
||||
{
|
||||
"foo": [
|
||||
{
|
||||
@ -21,3 +23,4 @@ format :list [#)]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
list [foo(bar=1), foo(bar=2), foo(bar=3)]
|
||||
key 6:6 ^
|
||||
key 0:4 ^--^ list
|
||||
key 6:9 ^-^ foo
|
||||
key 10:13 ^-^ bar
|
||||
num 14:15 ^ 1
|
||||
@ -25,10 +25,12 @@ pair 34:39 ^---^ bar=3
|
||||
val 34:39 ^---^ bar=3
|
||||
pair 30:39 ^-------^ foo(bar=3
|
||||
grp 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3
|
||||
pair 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3
|
||||
val 6:39 ^-------------------------------^ foo(bar=1), foo(bar=2), foo(bar=3
|
||||
pair 0:39 ^-------------------------------------^ list [foo(bar=1), foo(bar=2), foo(bar=3
|
||||
msg :list [foo(bar=1), foo(bar=2), foo(bar=3)]
|
||||
format :list [#)]
|
||||
[
|
||||
{
|
||||
"list": [
|
||||
{
|
||||
"foo": [
|
||||
{
|
||||
@ -51,3 +53,4 @@ format :list [#)]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
list ["abc", "def", "ghi"]
|
||||
key 7:7 ^
|
||||
key 0:4 ^--^ list
|
||||
quot 7:10 ^-^ abc
|
||||
val 7:10 ^-^ abc
|
||||
quot 14:17 ^-^ def
|
||||
@ -7,11 +7,14 @@ quot 14:17 ^-^ def
|
||||
quot 21:24 ^-^ ghi
|
||||
val 21:24 ^-^ ghi
|
||||
grp 7:24 ^---------------^ abc", "def", "ghi
|
||||
pair 7:24 ^---------------^ abc", "def", "ghi
|
||||
val 7:24 ^---------------^ abc", "def", "ghi
|
||||
pair 0:24 ^----------------------^ list ["abc", "def", "ghi
|
||||
msg :list ["abc", "def", "ghi"]
|
||||
format :list [#]
|
||||
[
|
||||
{
|
||||
"list": [
|
||||
"abc",
|
||||
"def",
|
||||
"ghi"
|
||||
]
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ quot 59:71 ^-------
|
||||
quot 74:78 ^--^ test
|
||||
val 74:78 ^--^ test
|
||||
grp 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test
|
||||
val 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test
|
||||
pair 2:78 ^--------------------------------------------------------------------------^ correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test
|
||||
msg :{"correctProperty":"test", "incorrectProperty": "test\"", "nextProperty":"test"}
|
||||
format :{#}
|
||||
|
@ -1,84 +1,73 @@
|
||||
2022-06-02T12:26:22.072Z info vpxd[47413] [Originator@6876 sub=vpxLro opID=21fa61e9-3e] [VpxLRO] -- BEGIN lro-954041 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- 52768da7-4006-3d4a-4917-ee027373630f(522e0475-8901-e8b8-1eb8-07ec729ac50c)
|
||||
key 23:23 ^
|
||||
sym 23:24 ^ Z
|
||||
pair 23:24 ^ Z
|
||||
key 35:35 ^
|
||||
key 0:0
|
||||
dt 0:23 ^---------------------^ 2022-06-02T12:26:22.072
|
||||
val 0:23 ^---------------------^ 2022-06-02T12:26:22.072
|
||||
pair 0:23 ^---------------------^ 2022-06-02T12:26:22.072
|
||||
key 30:34 ^--^ vpxd
|
||||
num 35:40 ^---^ 47413
|
||||
val 35:40 ^---^ 47413
|
||||
grp 35:40 ^---^ 47413
|
||||
pair 35:40 ^---^ 47413
|
||||
val 35:40 ^---^ 47413
|
||||
pair 30:40 ^--------^ vpxd[47413
|
||||
key 43:43 ^
|
||||
key 43:62 ^-----------------^ Originator@6876 sub
|
||||
sym 63:69 ^----^ vpxLro
|
||||
val 63:69 ^----^ vpxLro
|
||||
pair 43:69 ^------------------------^ Originator@6876 sub=vpxLro
|
||||
key 70:74 ^--^ opID
|
||||
sym 75:86 ^---------^ 21fa61e9-3e
|
||||
id 75:86 ^---------^ 21fa61e9-3e
|
||||
val 75:86 ^---------^ 21fa61e9-3e
|
||||
pair 70:86 ^--------------^ opID=21fa61e9-3e
|
||||
grp 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e
|
||||
val 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e
|
||||
pair 43:86 ^-----------------------------------------^ Originator@6876 sub=vpxLro opID=21fa61e9-3e
|
||||
key 89:89 ^
|
||||
sym 89:95 ^----^ VpxLRO
|
||||
val 89:95 ^----^ VpxLRO
|
||||
grp 89:95 ^----^ VpxLRO
|
||||
val 89:95 ^----^ VpxLRO
|
||||
pair 89:95 ^----^ VpxLRO
|
||||
key 97:97 ^
|
||||
sym 97:99 ^^ --
|
||||
pair 97:99 ^^ --
|
||||
key 100:100 ^
|
||||
sym 100:105 ^---^ BEGIN
|
||||
pair 100:105 ^---^ BEGIN
|
||||
key 106:106 ^
|
||||
sym 106:116 ^--------^ lro-954041
|
||||
pair 106:116 ^--------^ lro-954041
|
||||
key 117:117 ^
|
||||
sym 117:119 ^^ --
|
||||
pair 117:119 ^^ --
|
||||
key 100:105 ^---^ BEGIN
|
||||
id 106:116 ^--------^ lro-954041
|
||||
val 106:116 ^--------^ lro-954041
|
||||
pair 100:116 ^--------------^ BEGIN lro-954041
|
||||
key 120:120 ^
|
||||
sym 120:140 ^------------------^ AuthorizationManager
|
||||
val 120:140 ^------------------^ AuthorizationManager
|
||||
pair 120:140 ^------------------^ AuthorizationManager
|
||||
key 141:141 ^
|
||||
sym 141:143 ^^ --
|
||||
pair 141:143 ^^ --
|
||||
key 144:144 ^
|
||||
sym 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities
|
||||
val 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities
|
||||
pair 144:195 ^-------------------------------------------------^ vim.AuthorizationManager.hasUserPrivilegeOnEntities
|
||||
key 196:196 ^
|
||||
sym 196:198 ^^ --
|
||||
pair 196:198 ^^ --
|
||||
key 199:199 ^
|
||||
uuid 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f
|
||||
val 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f
|
||||
pair 199:235 ^----------------------------------^ 52768da7-4006-3d4a-4917-ee027373630f
|
||||
key 236:236 ^
|
||||
uuid 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
|
||||
val 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
|
||||
grp 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
|
||||
val 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
|
||||
pair 236:272 ^----------------------------------^ 522e0475-8901-e8b8-1eb8-07ec729ac50c
|
||||
msg :2022-06-02T12:26:22.072Z info vpxd[47413] [Originator@6876 sub=vpxLro opID=21fa61e9-3e] [VpxLRO] -- BEGIN lro-954041 -- AuthorizationManager -- vim.AuthorizationManager.hasUserPrivilegeOnEntities -- 52768da7-4006-3d4a-4917-ee027373630f(522e0475-8901-e8b8-1eb8-07ec729ac50c)
|
||||
format :2022-06-02T12:26:22.072# info vpxd[#] [#] [#] # # # # # # # # #(#)
|
||||
format :#Z info vpxd[#] [#] [#] -- BEGIN # -- # -- # -- #(#)
|
||||
{
|
||||
"col_0": "Z",
|
||||
"col_1": [
|
||||
"col_0": "2022-06-02T12:26:22.072",
|
||||
"vpxd": [
|
||||
47413
|
||||
],
|
||||
"col_2": {
|
||||
"col_1": {
|
||||
"Originator@6876 sub": "vpxLro",
|
||||
"opID": "21fa61e9-3e"
|
||||
},
|
||||
"col_3": [
|
||||
"col_2": [
|
||||
"VpxLRO"
|
||||
],
|
||||
"col_4": "--",
|
||||
"col_5": "BEGIN",
|
||||
"col_6": "lro-954041",
|
||||
"col_7": "--",
|
||||
"col_8": "AuthorizationManager",
|
||||
"col_9": "--",
|
||||
"col_10": "vim.AuthorizationManager.hasUserPrivilegeOnEntities",
|
||||
"col_11": "--",
|
||||
"col_12": "52768da7-4006-3d4a-4917-ee027373630f",
|
||||
"col_13": [
|
||||
"BEGIN": "lro-954041",
|
||||
"col_3": "AuthorizationManager",
|
||||
"col_4": "vim.AuthorizationManager.hasUserPrivilegeOnEntities",
|
||||
"col_5": "52768da7-4006-3d4a-4917-ee027373630f",
|
||||
"col_6": [
|
||||
"522e0475-8901-e8b8-1eb8-07ec729ac50c"
|
||||
]
|
||||
}
|
||||
|
52
test/datafile_simple.24
Normal file
52
test/datafile_simple.24
Normal file
@ -0,0 +1,52 @@
|
||||
LoadResources path (./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000)
|
||||
key 0:18 ^----------------^ LoadResources path
|
||||
key 20:20 ^
|
||||
path 20:30 ^--------^ ./locale/)
|
||||
val 20:30 ^--------^ ./locale/)
|
||||
pair 20:30 ^--------^ ./locale/)
|
||||
key 31:37 ^----^ locale
|
||||
word 39:41 ^^ en
|
||||
val 39:41 ^^ en
|
||||
grp 39:41 ^^ en
|
||||
val 39:41 ^^ en
|
||||
pair 31:41 ^--------^ locale (en
|
||||
key 43:53 ^--------^ removeable
|
||||
cnst 55:60 ^---^ false
|
||||
val 55:60 ^---^ false
|
||||
grp 55:60 ^---^ false
|
||||
val 55:60 ^---^ false
|
||||
pair 43:60 ^---------------^ removeable (false
|
||||
key 62:68 ^----^ resMap
|
||||
hex 70:86 ^--------------^ 00007f9ee4195fa0
|
||||
val 70:86 ^--------------^ 00007f9ee4195fa0
|
||||
grp 70:86 ^--------------^ 00007f9ee4195fa0
|
||||
val 70:86 ^--------------^ 00007f9ee4195fa0
|
||||
pair 62:86 ^----------------------^ resMap (00007f9ee4195fa0
|
||||
key 88:95 ^-----^ extKeys
|
||||
cc 97:113 ^--------------^ 0000000000000000
|
||||
val 97:113 ^--------------^ 0000000000000000
|
||||
grp 97:113 ^--------------^ 0000000000000000
|
||||
val 97:113 ^--------------^ 0000000000000000
|
||||
pair 88:113 ^-----------------------^ extKeys (0000000000000000
|
||||
grp 20:113 ^-------------------------------------------------------------------------------------------^ ./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000
|
||||
val 20:113 ^-------------------------------------------------------------------------------------------^ ./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000
|
||||
pair 0:113 ^---------------------------------------------------------------------------------------------------------------^ LoadResources path (./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000
|
||||
msg :LoadResources path (./locale/) locale (en) removeable (false) resMap (00007f9ee4195fa0) extKeys (0000000000000000)
|
||||
format :LoadResources path (#)
|
||||
{
|
||||
"LoadResources path": {
|
||||
"col_0": "./locale/)",
|
||||
"locale": [
|
||||
"en"
|
||||
],
|
||||
"removeable": [
|
||||
false
|
||||
],
|
||||
"resMap": [
|
||||
"00007f9ee4195fa0"
|
||||
],
|
||||
"extKeys": [
|
||||
"0000000000000000"
|
||||
]
|
||||
}
|
||||
}
|
15
test/datafile_simple.25
Normal file
15
test/datafile_simple.25
Normal file
@ -0,0 +1,15 @@
|
||||
a=1 b=2
|
||||
key 0:1 ^ a
|
||||
num 2:3 ^ 1
|
||||
val 2:3 ^ 1
|
||||
pair 0:3 ^-^ a=1
|
||||
key 4:5 ^ b
|
||||
num 6:7 ^ 2
|
||||
val 6:7 ^ 2
|
||||
pair 4:7 ^-^ b=2
|
||||
msg :a=1 b=2
|
||||
format :a=# b=#
|
||||
{
|
||||
"a": 1,
|
||||
"b": 2
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
func(arg1="a", arg2="b")
|
||||
key 5:5 ^
|
||||
key 0:4 ^--^ func
|
||||
key 5:9 ^--^ arg1
|
||||
quot 11:12 ^ a
|
||||
val 11:12 ^ a
|
||||
@ -9,10 +9,13 @@ quot 21:22 ^ b
|
||||
val 21:22 ^ b
|
||||
pair 15:22 ^-----^ arg2="b
|
||||
grp 5:22 ^---------------^ arg1="a", arg2="b
|
||||
pair 5:22 ^---------------^ arg1="a", arg2="b
|
||||
val 5:22 ^---------------^ arg1="a", arg2="b
|
||||
pair 0:22 ^--------------------^ func(arg1="a", arg2="b
|
||||
msg :func(arg1="a", arg2="b")
|
||||
format :func(#)
|
||||
{
|
||||
"func": {
|
||||
"arg1": "a",
|
||||
"arg2": "b"
|
||||
}
|
||||
}
|
||||
|
@ -1,22 +1,30 @@
|
||||
Succeeded authorizing right 'system.privilege.taskport.debug' by client '/usr/libexec/taskgated' [76339] for authorization created by '/usr/libexec/taskgated' [77395] (100003,1)
|
||||
key 29:29 ^
|
||||
word 22:27 ^---^ right
|
||||
key 22:27 ^---^ right
|
||||
quot 29:60 ^-----------------------------^ system.privilege.taskport.debug
|
||||
pair 29:60 ^-----------------------------^ system.privilege.taskport.debug
|
||||
key 73:73 ^
|
||||
val 29:60 ^-----------------------------^ system.privilege.taskport.debug
|
||||
pair 22:60 ^------------------------------------^ right 'system.privilege.taskport.debug
|
||||
word 65:71 ^----^ client
|
||||
key 65:71 ^----^ client
|
||||
quot 73:95 ^--------------------^ /usr/libexec/taskgated
|
||||
pair 73:95 ^--------------------^ /usr/libexec/taskgated
|
||||
val 73:95 ^--------------------^ /usr/libexec/taskgated
|
||||
pair 65:95 ^----------------------------^ client '/usr/libexec/taskgated
|
||||
key 98:98 ^
|
||||
num 98:103 ^---^ 76339
|
||||
val 98:103 ^---^ 76339
|
||||
grp 98:103 ^---^ 76339
|
||||
val 98:103 ^---^ 76339
|
||||
pair 98:103 ^---^ 76339
|
||||
key 135:135 ^
|
||||
word 131:133 ^^ by
|
||||
key 131:133 ^^ by
|
||||
quot 135:157 ^--------------------^ /usr/libexec/taskgated
|
||||
pair 135:157 ^--------------------^ /usr/libexec/taskgated
|
||||
val 135:157 ^--------------------^ /usr/libexec/taskgated
|
||||
pair 131:157 ^------------------------^ by '/usr/libexec/taskgated
|
||||
key 160:160 ^
|
||||
num 160:165 ^---^ 77395
|
||||
val 160:165 ^---^ 77395
|
||||
grp 160:165 ^---^ 77395
|
||||
val 160:165 ^---^ 77395
|
||||
pair 160:165 ^---^ 77395
|
||||
key 168:168 ^
|
||||
num 168:174 ^----^ 100003
|
||||
@ -24,20 +32,21 @@ pair 160:165
|
||||
num 175:176 ^ 1
|
||||
val 175:176 ^ 1
|
||||
grp 168:176 ^------^ 100003,1
|
||||
val 168:176 ^------^ 100003,1
|
||||
pair 168:176 ^------^ 100003,1
|
||||
msg :Succeeded authorizing right 'system.privilege.taskport.debug' by client '/usr/libexec/taskgated' [76339] for authorization created by '/usr/libexec/taskgated' [77395] (100003,1)
|
||||
format :Succeeded authorizing right # by client # [#] for authorization created by # [#] (#)
|
||||
{
|
||||
"col_0": "system.privilege.taskport.debug",
|
||||
"col_1": "/usr/libexec/taskgated",
|
||||
"col_2": [
|
||||
"right": "system.privilege.taskport.debug",
|
||||
"client": "/usr/libexec/taskgated",
|
||||
"col_0": [
|
||||
76339
|
||||
],
|
||||
"col_3": "/usr/libexec/taskgated",
|
||||
"col_4": [
|
||||
"by": "/usr/libexec/taskgated",
|
||||
"col_1": [
|
||||
77395
|
||||
],
|
||||
"col_5": [
|
||||
"col_2": [
|
||||
100003,
|
||||
1
|
||||
]
|
||||
|
@ -199,6 +199,7 @@ main(int argc, char* argv[])
|
||||
}
|
||||
|
||||
data_parser::TRACE_FILE = fopen("scanned.dpt", "w");
|
||||
setvbuf(data_parser::TRACE_FILE, nullptr, _IONBF, 0);
|
||||
|
||||
data_scanner ds(sub_line, body.lr_start);
|
||||
|
||||
|
@ -1,23 +1,23 @@
|
||||
Apr 7 00:49:42 Tim-Abaft-iMac abashed[0]: Aberrant [abhorrent5701Aberrant]: Link up on en0, 1-Aboard, Full-abortive, Abounding flow-abrupt, Absent [796d,2301,0de1,0300,cde1,3800]
|
||||
Apr 7 05:49:53 Tim-Abaft-iMac.absorbing Abstracted[17212]: -[absurd abundant] absurd abusive accept: <acceptable:0x511f30
|
||||
accessible=<KSOmahaServer:0x510d80>
|
||||
url="https://achondroplasia.example.com/account/accurate2"
|
||||
achiever=0
|
||||
acid=1
|
||||
acidic=1
|
||||
acoustic=1
|
||||
Apr 7 00:49:42 Tim-Stacks-iMac aback[0]: Abaft [abandoned5701Abaft]: Link up on en0, 1-Gigabit, Full-duplex, Ablaze flow-control, Able [796d,2301,0de1,0300,cde1,3800]
|
||||
Apr 7 05:49:53 Tim-Stacks-iMac.local Aboard[17212]: -[aboriginal abortive] aboriginal abounding abrasive: <abrupt:0x511f30
|
||||
absent=<KSOmahaServer:0x510d80>
|
||||
url="https://achondroplasia.example.com/absorbing/abstracted2"
|
||||
absurd=0
|
||||
abundant=1
|
||||
abusive=1
|
||||
accept=1
|
||||
body=
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<o:gupdate xmlns:o="http://acinetobacter-infections.example.com/accurate2/acrid" protocol="2.0" version="Act-1.2.0.7709" ismachine="1" requestid="{1ca0a968-cbe9-e75b-d00b-4859609878ea}">
|
||||
<o:os platform="mac" version="activity" sp="10.10.2_x86_64h"></o:os>
|
||||
<o:app appid="com.actually.Ad hoc" version="1.2.0.7709" lang="en-us" installage="180" brand="GGLG">
|
||||
<o:gupdate xmlns:o="http://acinetobacter-infections.example.com/abstracted2/accessible" protocol="2.0" version="KeystoneDaemon-1.2.0.7709" ismachine="1" requestid="{1ca0a968-cbe9-e75b-d00b-4859609878ea}">
|
||||
<o:os platform="mac" version="account" sp="10.10.2_x86_64h"></o:os>
|
||||
<o:app appid="com.achiever.Acid" version="1.2.0.7709" lang="en-us" installage="180" brand="GGLG">
|
||||
<o:ping r="1" a="1"></o:ping>
|
||||
<o:updatecheck></o:updatecheck>
|
||||
</o:app>
|
||||
</o:gupdate>
|
||||
>
|
||||
Apr 7 07:31:56 Tim-Abaft-iMac.absorbing Add[36403]: ADDICTED: The Adhesive adjoining adjustment is admit 10.9.2 adorable of 10.10.2. Use advice's afford afraid to get afterthought aggressive agonizing agree
|
||||
Call agreement:
|
||||
Apr 7 07:31:56 Tim-Abaft-iMac.absorbing Add[36403]: 0 Ahead 0x00007fff8a9b3d9b ___Adhesive_Air_airplane_airport + 113
|
||||
Apr 7 07:31:56 Tim-Abaft-iMac.absorbing Add[36403]: 1 ajar.alarm 0x00007fff8bc84c13 _alcoholic_alert_alike + 8
|
||||
Apr 7 07:32:56 Tim-Abaft-iMac.absorbing alive[234]: Bad data { abc, 123, 456 )}]
|
||||
Apr 7 07:31:56 Tim-Stacks-iMac.local Acoustic[36403]: ACOUSTICS: The Act action activity is actually 10.9.2 ad hoc of 10.10.2. Use add's addition adhesive to get admire admit adorable adventurous
|
||||
Call advice:
|
||||
Apr 7 07:31:56 Tim-Stacks-iMac.local Acoustic[36403]: 0 Advise 0x00007fff8a9b3d9b ___Act_Afford_afraid_aftermath + 113
|
||||
Apr 7 07:31:56 Tim-Stacks-iMac.local Acoustic[36403]: 1 afternoon.afterthought 0x00007fff8bc84c13 _aggressive_agonizing_agree + 8
|
||||
Apr 7 07:32:56 Tim-Stacks-iMac.local agreeable[234]: Bad data { abc, 123, 456 )}]
|
||||
|
@ -1,3 +1,3 @@
|
||||
10.0.0.1 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/aberrant HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
||||
10.0.0.1 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/abashed HTTP/1.0" 200 134 "-" "gPXE/0.9.7"
|
||||
10.0.0.1 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/abject/ablaze/able.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7"
|
||||
10.0.0.1 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/abject/ablaze/aboard.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7"
|
||||
|
@ -1,3 +1,3 @@
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL>
|
||||
[7m 3[0m[7m [0m[7m <NULL>[0m[7m [0m[7m2013-02-15 06:00:31.000[0m[7m [0m[1m[7m 112777262000[0m[7m [0m[7merror [0m[7m [0m[7m 0[0m[7m [0m[7m <NULL>[0m[7m [0m[7m <NULL>[0m[7m [0m[7m <NULL>[0m[7m [0m[7m <NULL>[0m[7m [0m[7m [0m
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m[1m[4mlog_msg_values [0m
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
[7m 3[0m[7m [0m[7m <NULL>[0m[7m [0m[7m2013-02-15 06:00:31.000[0m[7m [0m[1m[7m 112777262000[0m[7m [0m[7merror [0m[7m [0m[7m 0[0m[7m [0m[7m <NULL>[0m[7m [0m[7m <NULL>[0m[7m [0m[7m <NULL>[0m[7m [0m[7m <NULL>[0m[7m [0m[7m [0m[7m [0m[7mnull [0m
|
||||
|
@ -1,5 +1,5 @@
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL>
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL>
|
||||
[1m 2[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m2009-07-20 22:59:29.000[0m[1m [0m[1m 0[0m[1m [0m[1minfo [0m[1m [0m[1m 0[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m [0m
|
||||
[1m[7m 3[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m2013-02-15 06:00:31.000[0m[1m[7m [0m[1m[7m 112777262000[0m[1m[7m [0m[1m[7merror [0m[1m[7m [0m[1m[7m 0[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m [0m[1m [0m
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m[1m[4mlog_msg_values [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
[1m 2[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m2009-07-20 22:59:29.000[0m[1m [0m[1m 0[0m[1m [0m[1minfo [0m[1m [0m[1m 0[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m [0m[1m [0m[1mnull [0m
|
||||
[1m[7m 3[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m2013-02-15 06:00:31.000[0m[1m[7m [0m[1m[7m 112777262000[0m[1m[7m [0m[1m[7merror [0m[1m[7m [0m[1m[7m 0[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m [0m[1m[7m [0m[1m[7mnull [0m[1m [0m
|
||||
|
@ -1,5 +1,5 @@
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m[1m[4mlog_format [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL> access_log
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL> access_log
|
||||
[1m 2[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m2009-07-20 22:59:29.000[0m[1m [0m[1m 0[0m[1m [0m[1minfo [0m[1m [0m[1m 0[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m [0m[1m [0m[1maccess_log [0m
|
||||
[1m[7m 3[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m2013-02-15 06:00:31.000[0m[1m[7m [0m[1m[7m 112777262000[0m[1m[7m [0m[1m[7merror [0m[1m[7m [0m[1m[7m 0[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m [0m[1m[7m [0m[1m[7maccess_log[0m[1m [0m
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m[1m[4mlog_msg_values [0m[1m[4mlog_format [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL> null access_log
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL> null access_log
|
||||
[1m 2[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m2009-07-20 22:59:29.000[0m[1m [0m[1m 0[0m[1m [0m[1minfo [0m[1m [0m[1m 0[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m [0m[1m [0m[1mnull [0m[1m [0m[1maccess_log [0m
|
||||
[1m[7m 3[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m2013-02-15 06:00:31.000[0m[1m[7m [0m[1m[7m 112777262000[0m[1m[7m [0m[1m[7merror [0m[1m[7m [0m[1m[7m 0[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m [0m[1m[7m [0m[1m[7mnull [0m[1m[7m [0m[1m[7maccess_log[0m[1m [0m
|
||||
|
@ -1,3 +1,3 @@
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL>
|
||||
2 <NULL> 2009-07-20 22:59:29.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL>
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m[1m[4mlog_msg_values [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
2 <NULL> 2009-07-20 22:59:29.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
|
@ -1,5 +1,5 @@
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL>
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL>
|
||||
[1m 2[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m2009-07-20 22:59:29.000[0m[1m [0m[1m 0[0m[1m [0m[1minfo [0m[1m [0m[1m 0[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m [0m
|
||||
[1m[7m 3[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m2013-02-15 06:00:31.000[0m[1m[7m [0m[1m[7m 112777262000[0m[1m[7m [0m[1m[7merror [0m[1m[7m [0m[1m[7m 0[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m [0m[1m [0m
|
||||
[1m[4mlog_line [0m[1m[4mlog_part [0m[1m[4m log_time [0m[1m[4m[7mlog_idle_msecs [0m[1m[4mlog_level [0m[1m[4mlog_mark [0m[1m[4mlog_comment [0m[1m[4mlog_tags [0m[1m[4mlog_annotations [0m[1m[4mlog_filters [0m[1m[4mlog_msg_format [0m[1m[4mlog_msg_values [0m
|
||||
0 <NULL> 2009-07-20 22:59:26.000 [1m 0[0m info 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
[7m [0m 1 <NULL> 2009-07-20 22:59:29.000 [1m 3000[0m error 0 <NULL> <NULL> <NULL> <NULL> null
|
||||
[1m 2[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m2009-07-20 22:59:29.000[0m[1m [0m[1m 0[0m[1m [0m[1minfo [0m[1m [0m[1m 0[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m <[0m[1mNULL[0m[1m>[0m[1m [0m[1m [0m[1m [0m[1mnull [0m
|
||||
[1m[7m 3[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m2013-02-15 06:00:31.000[0m[1m[7m [0m[1m[7m 112777262000[0m[1m[7m [0m[1m[7merror [0m[1m[7m [0m[1m[7m 0[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m <NULL>[0m[1m[7m [0m[1m[7m [0m[1m[7m [0m[1m[7mnull [0m[1m [0m
|
||||
|
@ -5,16 +5,11 @@
|
||||
"col_0": [
|
||||
"VpxLRO"
|
||||
],
|
||||
"col_1": "--",
|
||||
"col_2": "BEGIN",
|
||||
"col_3": "lro-846063",
|
||||
"col_4": "--",
|
||||
"col_5": "SessionManager",
|
||||
"col_6": "--",
|
||||
"col_7": "vim.SessionManager.sessionIsActive",
|
||||
"col_8": "--",
|
||||
"col_9": "528e6e0c-246d-58b5-3234-278c6e0c5d0d",
|
||||
"col_10": [
|
||||
"BEGIN": "lro-846063",
|
||||
"col_1": "SessionManager",
|
||||
"col_2": "vim.SessionManager.sessionIsActive",
|
||||
"col_3": "528e6e0c-246d-58b5-3234-278c6e0c5d0d",
|
||||
"col_4": [
|
||||
"52c289ac-2563-48d5-8a8e-f178da022c0d"
|
||||
]
|
||||
}
|
||||
@ -25,22 +20,22 @@
|
||||
"col_0": [
|
||||
"VpxLRO"
|
||||
],
|
||||
"col_1": "--",
|
||||
"col_2": "FINISH",
|
||||
"col_3": "lro-846063"
|
||||
"FINISH": "lro-846063"
|
||||
}
|
||||
},
|
||||
{
|
||||
"log_body": "Exception was thrown when call vsan-performance-manager for cluster [vim.ClusterComputeResource:domain-c109,Cluster-52] perf metrics: N3Vim5Fault8NotFound9ExceptionE(Fault cause: vim.fault.NotFound\n--> )",
|
||||
"extract(log_body)": {
|
||||
"Exception was thrown when call vsan-performance-manager for cluster [vim.ClusterComputeResource:domain-c109,Cluster-52] perf metrics": {
|
||||
"N3Vim5Fault8NotFound9ExceptionE": [
|
||||
"Fault cause",
|
||||
"vim.fault.NotFound",
|
||||
"\n",
|
||||
"--",
|
||||
">"
|
||||
]
|
||||
"call": "vsan-performance-manager",
|
||||
"cluster": {
|
||||
"vim.ClusterComputeResource": "domain-c109",
|
||||
"col_0": "Cluster-52"
|
||||
},
|
||||
"col_0": "perf",
|
||||
"metrics": "",
|
||||
"N3Vim5Fault8NotFound9ExceptionE": {
|
||||
"Fault cause": "vim.fault.NotFound",
|
||||
"col_0": ">"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,11 @@
|
||||
2013-02-11 06:42:34,310:INFO:com.twisted:Site starting on 8099
|
||||
key 29:29 ^
|
||||
key 29:40 ^---------^ com.twisted
|
||||
pair 29:40 ^---------^ com.twisted
|
||||
key 58:58 ^
|
||||
word 55:57 ^^ on
|
||||
key 55:57 ^^ on
|
||||
num 58:62 ^--^ 8099
|
||||
pair 58:62 ^--^ 8099
|
||||
val 58:62 ^--^ 8099
|
||||
pair 55:62 ^-----^ on 8099
|
||||
msg ::com.twisted:Site starting on 8099
|
||||
format ::#:Site starting on #
|
||||
format ::com.twisted:Site starting on #
|
||||
{
|
||||
"col_0": "com.twisted",
|
||||
"col_1": 8099
|
||||
"on": 8099
|
||||
}
|
||||
|
@ -1,23 +1,21 @@
|
||||
Apr 11 16:43:25 localhost smartd[2532]: Device: /dev/sda [SAT], VBOX HARDDISK, S/N:VBc8882b62-a0263a39, FW:1.0, 17.1 GB
|
||||
key 40:46 ^----^ Device
|
||||
key 48:48 ^
|
||||
path 48:56 ^------^ /dev/sda
|
||||
wspc 56:57 ^
|
||||
val 48:56 ^------^ /dev/sda
|
||||
pair 48:56 ^------^ /dev/sda
|
||||
key 58:58 ^
|
||||
sym 58:61 ^-^ SAT
|
||||
val 58:61 ^-^ SAT
|
||||
grp 58:61 ^-^ SAT
|
||||
val 48:61 ^-----------^ /dev/sda [SAT
|
||||
pair 40:61 ^-------------------^ Device: /dev/sda [SAT
|
||||
key 64:64 ^
|
||||
sym 64:68 ^--^ VBOX
|
||||
wspc 68:69 ^
|
||||
val 58:61 ^-^ SAT
|
||||
pair 58:61 ^-^ SAT
|
||||
key 64:68 ^--^ VBOX
|
||||
sym 69:77 ^------^ HARDDISK
|
||||
val 64:77 ^-----------^ VBOX HARDDISK
|
||||
val 69:77 ^------^ HARDDISK
|
||||
pair 64:77 ^-----------^ VBOX HARDDISK
|
||||
key 79:79 ^
|
||||
sym 79:82 ^-^ S/N
|
||||
coln 82:83 ^ :
|
||||
sym 83:102 ^-----------------^ VBc8882b62-a0263a39
|
||||
val 79:102 ^---------------------^ S/N:VBc8882b62-a0263a39
|
||||
key 79:82 ^-^ S/N
|
||||
id 83:102 ^-----------------^ VBc8882b62-a0263a39
|
||||
val 83:102 ^-----------------^ VBc8882b62-a0263a39
|
||||
pair 79:102 ^---------------------^ S/N:VBc8882b62-a0263a39
|
||||
key 104:106 ^^ FW
|
||||
num 107:110 ^-^ 1.0
|
||||
@ -25,16 +23,18 @@ pair 79:102
|
||||
pair 104:110 ^----^ FW:1.0
|
||||
key 112:112 ^
|
||||
num 112:116 ^--^ 17.1
|
||||
wspc 116:117 ^
|
||||
sym 117:119 ^^ GB
|
||||
val 112:119 ^-----^ 17.1 GB
|
||||
pair 112:119 ^-----^ 17.1 GB
|
||||
msg :Device: /dev/sda [SAT], VBOX HARDDISK, S/N:VBc8882b62-a0263a39, FW:1.0, 17.1 GB
|
||||
format :Device: #], #, #, FW:#, #
|
||||
format :Device: # [#], VBOX #, S/N:#, FW:#, #
|
||||
{
|
||||
"Device": "/dev/sda [SAT",
|
||||
"col_0": "VBOX HARDDISK",
|
||||
"col_1": "S/N:VBc8882b62-a0263a39",
|
||||
"col_0": "/dev/sda",
|
||||
"col_1": [
|
||||
"SAT"
|
||||
],
|
||||
"VBOX": "HARDDISK",
|
||||
"S/N": "VBc8882b62-a0263a39",
|
||||
"FW": 1.0,
|
||||
"col_2": "17.1 GB"
|
||||
}
|
||||
|
26
test/log-samples/sample-0a470b1dae069dda03984e8e67994d8a.txt
Normal file
26
test/log-samples/sample-0a470b1dae069dda03984e8e67994d8a.txt
Normal file
@ -0,0 +1,26 @@
|
||||
2024-01-10T05:27:07.860Z info vmware-vum-server[27909] [Originator@6876 sub=JobDispatcher] [JobDispatcher 2258] Removing task 52b9d918-efe7-29a6-6d38-6eee37e76f87 that imposed VMware vSphere Update Manager load:1, new load: 0, task active Load: 0
|
||||
word 122:126 ^--^ task
|
||||
key 122:126 ^--^ task
|
||||
uuid 127:163 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
|
||||
val 127:163 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
|
||||
pair 122:163 ^---------------------------------------^ task 52b9d918-efe7-29a6-6d38-6eee37e76f87
|
||||
key 207:211 ^--^ load
|
||||
num 212:213 ^ 1
|
||||
val 212:213 ^ 1
|
||||
pair 207:213 ^----^ load:1
|
||||
key 215:223 ^------^ new load
|
||||
num 225:226 ^ 0
|
||||
val 225:226 ^ 0
|
||||
pair 215:226 ^---------^ new load: 0
|
||||
key 228:244 ^--------------^ task active Load
|
||||
num 246:247 ^ 0
|
||||
val 246:247 ^ 0
|
||||
pair 228:247 ^-----------------^ task active Load: 0
|
||||
msg :Removing task 52b9d918-efe7-29a6-6d38-6eee37e76f87 that imposed VMware vSphere Update Manager load:1, new load: 0, task active Load: 0
|
||||
format :Removing task # that imposed VMware vSphere Update Manager load:#, new load: #, task active Load: #
|
||||
{
|
||||
"task": "52b9d918-efe7-29a6-6d38-6eee37e76f87",
|
||||
"load": 1,
|
||||
"new load": 0,
|
||||
"task active Load": 0
|
||||
}
|
13
test/log-samples/sample-0edd747bbc6d5c173423c079b61c27a4.txt
Normal file
13
test/log-samples/sample-0edd747bbc6d5c173423c079b61c27a4.txt
Normal file
@ -0,0 +1,13 @@
|
||||
2024-01-10T14:29:28.998Z info vmware-vum-server[136895] [Originator@6876 sub=VumVapiAuthzFilter opID=4d3bd186-a9bf-40d3-9b88-5570f530048f] [RequireAdminUserAuthz 362] RequireAdminUserAuthz::Invoke Method is com.vmware.esx.settings.clusters.configuration.drafts.apply
|
||||
key 167:167 ^
|
||||
sym 167:196 ^---------------------------^ RequireAdminUserAuthz::Invoke
|
||||
pair 167:196 ^---------------------------^ RequireAdminUserAuthz::Invoke
|
||||
key 207:207 ^
|
||||
sym 207:266 ^---------------------------------------------------------^ com.vmware.esx.settings.clusters.configuration.drafts.apply
|
||||
pair 207:266 ^---------------------------------------------------------^ com.vmware.esx.settings.clusters.configuration.drafts.apply
|
||||
msg :RequireAdminUserAuthz::Invoke Method is com.vmware.esx.settings.clusters.configuration.drafts.apply
|
||||
format :# Method is #
|
||||
{
|
||||
"col_0": "RequireAdminUserAuthz::Invoke",
|
||||
"col_1": "com.vmware.esx.settings.clusters.configuration.drafts.apply"
|
||||
}
|
@ -1,17 +1,19 @@
|
||||
Apr 29 22:32:27 tstack-centos5 dhclient: bound to 10.1.10.62 -- renewal in 55327 seconds
|
||||
key 50:50 ^
|
||||
word 47:49 ^^ to
|
||||
key 47:49 ^^ to
|
||||
ipv4 50:60 ^--------^ 10.1.10.62
|
||||
pair 50:60 ^--------^ 10.1.10.62
|
||||
key 61:61 ^
|
||||
sym 61:63 ^^ --
|
||||
pair 61:63 ^^ --
|
||||
key 75:75 ^
|
||||
val 50:60 ^--------^ 10.1.10.62
|
||||
pair 47:60 ^-----------^ to 10.1.10.62
|
||||
key 64:64 ^
|
||||
word 64:71 ^-----^ renewal
|
||||
word 72:74 ^^ in
|
||||
num 75:80 ^---^ 55327
|
||||
pair 75:80 ^---^ 55327
|
||||
word 81:88 ^-----^ seconds
|
||||
val 64:88 ^----------------------^ renewal in 55327 seconds
|
||||
pair 64:88 ^----------------------^ renewal in 55327 seconds
|
||||
msg :bound to 10.1.10.62 -- renewal in 55327 seconds
|
||||
format :bound to # # renewal in # seconds
|
||||
format :bound to # -- #
|
||||
{
|
||||
"col_0": "10.1.10.62",
|
||||
"col_1": "--",
|
||||
"col_2": 55327
|
||||
"to": "10.1.10.62",
|
||||
"col_0": "renewal in 55327 seconds"
|
||||
}
|
||||
|
33
test/log-samples/sample-207655c886794bc55da226bcb86e3c91.txt
Normal file
33
test/log-samples/sample-207655c886794bc55da226bcb86e3c91.txt
Normal file
@ -0,0 +1,33 @@
|
||||
Mar 16 08:09:58 app-1 kernel: [ 0.000000] BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
|
||||
key 35:35 ^
|
||||
num 35:43 ^------^ 0.000000
|
||||
val 35:43 ^------^ 0.000000
|
||||
grp 35:43 ^------^ 0.000000
|
||||
val 35:43 ^------^ 0.000000
|
||||
pair 35:43 ^------^ 0.000000
|
||||
key 46:55 ^-------^ BIOS-e820
|
||||
hex 57:73 ^--------------^ 00000000000e8000
|
||||
val 57:73 ^--------------^ 00000000000e8000
|
||||
pair 46:73 ^-------------------------^ BIOS-e820: 00000000000e8000
|
||||
key 76:76 ^
|
||||
hexd 76:92 ^--------------^ 0000000000100000
|
||||
val 76:92 ^--------------^ 0000000000100000
|
||||
pair 76:92 ^--------------^ 0000000000100000
|
||||
key 94:94 ^
|
||||
word 94:102 ^------^ reserved
|
||||
val 94:102 ^------^ reserved
|
||||
grp 94:102 ^------^ reserved
|
||||
val 94:102 ^------^ reserved
|
||||
pair 94:102 ^------^ reserved
|
||||
msg :[ 0.000000] BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
|
||||
format :[ #] BIOS-e820: # - # (#)
|
||||
{
|
||||
"col_0": [
|
||||
0.000000
|
||||
],
|
||||
"BIOS-e820": "00000000000e8000",
|
||||
"col_1": "0000000000100000",
|
||||
"col_2": [
|
||||
"reserved"
|
||||
]
|
||||
}
|
43
test/log-samples/sample-3136b918134d37827ee97f35adb130a5.txt
Normal file
43
test/log-samples/sample-3136b918134d37827ee97f35adb130a5.txt
Normal file
@ -0,0 +1,43 @@
|
||||
2024-01-11T10:46:05.874Z info vmware-vum-server[1243065] [Originator@6876 sub=EHP opID=eb9d737f-fa4f-421d-9beb-ce31fb27938f] [host-553] [vSphere HA] [com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state] returned status: OK
|
||||
key 126:126 ^
|
||||
id 126:134 ^------^ host-553
|
||||
val 126:134 ^------^ host-553
|
||||
grp 126:134 ^------^ host-553
|
||||
val 126:134 ^------^ host-553
|
||||
pair 126:134 ^------^ host-553
|
||||
key 137:137 ^
|
||||
sym 137:144 ^-----^ vSphere
|
||||
sym 145:147 ^^ HA
|
||||
val 137:147 ^--------^ vSphere HA
|
||||
grp 137:147 ^--------^ vSphere HA
|
||||
val 137:147 ^--------^ vSphere HA
|
||||
pair 137:147 ^--------^ vSphere HA
|
||||
key 150:150 ^
|
||||
sym 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
|
||||
val 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
|
||||
grp 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
|
||||
val 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
|
||||
pair 150:206 ^------------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state
|
||||
key 208:208 ^
|
||||
word 208:216 ^------^ returned
|
||||
val 208:216 ^------^ returned
|
||||
pair 208:216 ^------^ returned
|
||||
key 217:223 ^----^ status
|
||||
sym 225:227 ^^ OK
|
||||
val 225:227 ^^ OK
|
||||
pair 217:227 ^--------^ status: OK
|
||||
msg :[host-553] [vSphere HA] [com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state] returned status: OK
|
||||
format :[#] [#] [#] # status: #
|
||||
{
|
||||
"col_0": [
|
||||
"host-553"
|
||||
],
|
||||
"col_1": [
|
||||
"vSphere HA"
|
||||
],
|
||||
"col_2": [
|
||||
"com.vmware.vcIntegrity.lifecycle.health.vc.host_ha_state"
|
||||
],
|
||||
"col_3": "returned",
|
||||
"status": "OK"
|
||||
}
|
52
test/log-samples/sample-5cbaeeb96f1f0c11a93656107801efc3.txt
Normal file
52
test/log-samples/sample-5cbaeeb96f1f0c11a93656107801efc3.txt
Normal file
@ -0,0 +1,52 @@
|
||||
2024-01-10T05:26:20.440Z error vmware-vum-server[28046] [Originator@6876 sub=Key] [key 59] [backtrace begin] product: VMware Update Manager, version: 8.0.3, build: build-22994205, tag: vmware-vum-server, cpu: x86_64, os: linux, buildType: release
|
||||
key 92:92 ^
|
||||
word 92:101 ^-------^ backtrace
|
||||
word 102:107 ^---^ begin
|
||||
val 92:107 ^-------------^ backtrace begin
|
||||
grp 92:107 ^-------------^ backtrace begin
|
||||
val 92:107 ^-------------^ backtrace begin
|
||||
pair 92:107 ^-------------^ backtrace begin
|
||||
key 109:116 ^-----^ product
|
||||
sym 118:124 ^----^ VMware
|
||||
word 125:131 ^----^ Update
|
||||
word 132:139 ^-----^ Manager
|
||||
val 118:139 ^-------------------^ VMware Update Manager
|
||||
pair 109:139 ^----------------------------^ product: VMware Update Manager
|
||||
key 141:148 ^-----^ version
|
||||
vers 150:155 ^---^ 8.0.3
|
||||
val 150:155 ^---^ 8.0.3
|
||||
pair 141:155 ^------------^ version: 8.0.3
|
||||
key 157:162 ^---^ build
|
||||
id 164:178 ^------------^ build-22994205
|
||||
val 164:178 ^------------^ build-22994205
|
||||
pair 157:178 ^-------------------^ build: build-22994205
|
||||
key 180:183 ^-^ tag
|
||||
id 185:202 ^---------------^ vmware-vum-server
|
||||
val 185:202 ^---------------^ vmware-vum-server
|
||||
pair 180:202 ^--------------------^ tag: vmware-vum-server
|
||||
key 204:207 ^-^ cpu
|
||||
sym 209:215 ^----^ x86_64
|
||||
val 209:215 ^----^ x86_64
|
||||
pair 204:215 ^---------^ cpu: x86_64
|
||||
key 217:219 ^^ os
|
||||
word 221:226 ^---^ linux
|
||||
val 221:226 ^---^ linux
|
||||
pair 217:226 ^-------^ os: linux
|
||||
key 228:237 ^-------^ buildType
|
||||
word 239:246 ^-----^ release
|
||||
val 239:246 ^-----^ release
|
||||
pair 228:246 ^----------------^ buildType: release
|
||||
msg :[backtrace begin] product: VMware Update Manager, version: 8.0.3, build: build-22994205, tag: vmware-vum-server, cpu: x86_64, os: linux, buildType: release
|
||||
format :[#] product: #, version: #, build: #, tag: #, cpu: #, os: #, buildType: #
|
||||
{
|
||||
"col_0": [
|
||||
"backtrace begin"
|
||||
],
|
||||
"product": "VMware Update Manager",
|
||||
"version": "8.0.3",
|
||||
"build": "build-22994205",
|
||||
"tag": "vmware-vum-server",
|
||||
"cpu": "x86_64",
|
||||
"os": "linux",
|
||||
"buildType": "release"
|
||||
}
|
135
test/log-samples/sample-63068cd0931f8cbd22c2f15ac318af12.txt
Normal file
135
test/log-samples/sample-63068cd0931f8cbd22c2f15ac318af12.txt
Normal file
@ -0,0 +1,135 @@
|
||||
2021-09-25T11:22:08.034Z info vsand[1000946202] [opID=SWI-5e21ef1d-ddc1-f459 VsanPyVmomiProfiler::logProfile] VIS.GetFileShareObjects: 0.01s, consumed: 97564KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 117872KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
|
||||
key 112:135 ^---------------------^ VIS.GetFileShareObjects
|
||||
num 137:141 ^--^ 0.01
|
||||
unit 141:142 ^ s
|
||||
meas 137:142 ^---^ 0.01s
|
||||
val 137:142 ^---^ 0.01s
|
||||
pair 112:142 ^----------------------------^ VIS.GetFileShareObjects: 0.01s
|
||||
key 144:152 ^------^ consumed
|
||||
num 154:159 ^---^ 97564
|
||||
unit 159:161 ^^ KB
|
||||
meas 154:161 ^-----^ 97564KB
|
||||
val 154:161 ^-----^ 97564KB
|
||||
pair 144:161 ^---------------^ consumed: 97564KB
|
||||
key 164:164 ^
|
||||
num 164:165 ^ 0
|
||||
unit 165:167 ^^ KB
|
||||
meas 164:167 ^-^ 0KB
|
||||
val 164:167 ^-^ 0KB
|
||||
grp 164:167 ^-^ 0KB
|
||||
val 164:167 ^-^ 0KB
|
||||
pair 164:167 ^-^ 0KB
|
||||
key 170:182 ^----------^ consumedPeak
|
||||
num 184:189 ^---^ 98644
|
||||
unit 189:191 ^^ KB
|
||||
meas 184:191 ^-----^ 98644KB
|
||||
val 184:191 ^-----^ 98644KB
|
||||
pair 170:191 ^-------------------^ consumedPeak: 98644KB
|
||||
key 194:194 ^
|
||||
num 194:195 ^ 0
|
||||
unit 195:197 ^^ KB
|
||||
meas 194:197 ^-^ 0KB
|
||||
val 194:197 ^-^ 0KB
|
||||
grp 194:197 ^-^ 0KB
|
||||
val 194:197 ^-^ 0KB
|
||||
pair 194:197 ^-^ 0KB
|
||||
key 200:212 ^----------^ effectiveMin
|
||||
num 214:220 ^----^ 117872
|
||||
unit 220:222 ^^ KB
|
||||
meas 214:222 ^------^ 117872KB
|
||||
val 214:222 ^------^ 117872KB
|
||||
pair 200:222 ^--------------------^ effectiveMin: 117872KB
|
||||
key 225:225 ^
|
||||
num 225:226 ^ 0
|
||||
unit 226:228 ^^ KB
|
||||
meas 225:228 ^-^ 0KB
|
||||
val 225:228 ^-^ 0KB
|
||||
grp 225:228 ^-^ 0KB
|
||||
val 225:228 ^-^ 0KB
|
||||
pair 225:228 ^-^ 0KB
|
||||
key 231:247 ^--------------^ effectiveMinPeak
|
||||
num 249:255 ^----^ 121336
|
||||
unit 255:257 ^^ KB
|
||||
meas 249:257 ^------^ 121336KB
|
||||
val 249:257 ^------^ 121336KB
|
||||
pair 231:257 ^------------------------^ effectiveMinPeak: 121336KB
|
||||
key 260:260 ^
|
||||
num 260:261 ^ 0
|
||||
unit 261:263 ^^ KB
|
||||
meas 260:263 ^-^ 0KB
|
||||
val 260:263 ^-^ 0KB
|
||||
grp 260:263 ^-^ 0KB
|
||||
val 260:263 ^-^ 0KB
|
||||
pair 260:263 ^-^ 0KB
|
||||
key 266:282 ^--------------^ requestedMinPeak
|
||||
num 284:290 ^----^ 121336
|
||||
unit 290:292 ^^ KB
|
||||
meas 284:292 ^------^ 121336KB
|
||||
val 284:292 ^------^ 121336KB
|
||||
pair 266:292 ^------------------------^ requestedMinPeak: 121336KB
|
||||
key 295:295 ^
|
||||
num 295:296 ^ 0
|
||||
unit 296:298 ^^ KB
|
||||
meas 295:298 ^-^ 0KB
|
||||
val 295:298 ^-^ 0KB
|
||||
grp 295:298 ^-^ 0KB
|
||||
val 295:298 ^-^ 0KB
|
||||
pair 295:298 ^-^ 0KB
|
||||
msg :VIS.GetFileShareObjects: 0.01s, consumed: 97564KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 117872KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
|
||||
format :VIS.GetFileShareObjects: #, consumed: # (+#), consumedPeak: # (+#), effectiveMin: # (+#), effectiveMinPeak: # (+#), requestedMinPeak: # (+#)
|
||||
{
|
||||
"VIS.GetFileShareObjects": [
|
||||
0.01,
|
||||
"s"
|
||||
],
|
||||
"consumed": [
|
||||
97564,
|
||||
"KB"
|
||||
],
|
||||
"col_0": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"consumedPeak": [
|
||||
98644,
|
||||
"KB"
|
||||
],
|
||||
"col_1": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"effectiveMin": [
|
||||
117872,
|
||||
"KB"
|
||||
],
|
||||
"col_2": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"effectiveMinPeak": [
|
||||
121336,
|
||||
"KB"
|
||||
],
|
||||
"col_3": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"requestedMinPeak": [
|
||||
121336,
|
||||
"KB"
|
||||
],
|
||||
"col_4": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
]
|
||||
}
|
26
test/log-samples/sample-67484ecc8091237a27f12863d36b4d03.txt
Normal file
26
test/log-samples/sample-67484ecc8091237a27f12863d36b4d03.txt
Normal file
@ -0,0 +1,26 @@
|
||||
2024-01-10T05:27:07.452Z info vmware-vum-server[28092] [Originator@6876 sub=com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask] [Task, 524] Task:com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask ID:52b9d918-efe7-29a6-6d38-6eee37e76f87. Combining scan results for 32 hosts
|
||||
key 145:149 ^--^ Task
|
||||
sym 150:205 ^-----------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask
|
||||
val 150:205 ^-----------------------------------------------------^ com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask
|
||||
pair 145:205 ^----------------------------------------------------------^ Task:com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask
|
||||
key 206:208 ^^ ID
|
||||
uuid 209:245 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
|
||||
val 209:245 ^----------------------------------^ 52b9d918-efe7-29a6-6d38-6eee37e76f87
|
||||
pair 206:245 ^-------------------------------------^ ID:52b9d918-efe7-29a6-6d38-6eee37e76f87
|
||||
word 270:273 ^-^ for
|
||||
key 270:273 ^-^ for
|
||||
num 274:276 ^^ 32
|
||||
val 274:276 ^^ 32
|
||||
pair 270:276 ^----^ for 32
|
||||
key 277:277 ^
|
||||
word 277:282 ^---^ hosts
|
||||
val 277:282 ^---^ hosts
|
||||
pair 277:282 ^---^ hosts
|
||||
msg :Task:com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask ID:52b9d918-efe7-29a6-6d38-6eee37e76f87. Combining scan results for 32 hosts
|
||||
format :Task:# ID:#. Combining scan results for # #
|
||||
{
|
||||
"Task": "com.vmware.vcIntegrity.lifecycle.DesiredScanClusterTask",
|
||||
"ID": "52b9d918-efe7-29a6-6d38-6eee37e76f87",
|
||||
"for": 32,
|
||||
"col_0": "hosts"
|
||||
}
|
@ -17,10 +17,8 @@ word 88:92
|
||||
pair 83:92 ^-------^ USER=root
|
||||
key 95:102 ^-----^ COMMAND
|
||||
path 103:115 ^----------^ /usr/bin/env
|
||||
wspc 115:116 ^
|
||||
sym 116:120 ^--^ VAR1
|
||||
word 121:124 ^-^ foo
|
||||
wspc 124:125 ^
|
||||
word 125:127 ^^ ls
|
||||
val 103:127 ^----------------------^ /usr/bin/env VAR1=foo ls
|
||||
pair 95:127 ^------------------------------^ COMMAND=/usr/bin/env VAR1=foo ls
|
||||
|
135
test/log-samples/sample-8a6527cdf27015a0204702430b6eca09.txt
Normal file
135
test/log-samples/sample-8a6527cdf27015a0204702430b6eca09.txt
Normal file
@ -0,0 +1,135 @@
|
||||
2021-09-22T05:54:16.060Z info vsand[1000946217] [opID=Thread-2 VsanPyVmomiProfiler::logProfile] get-disk-data: 0.00s, consumed: 97792KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 118228KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
|
||||
key 98:111 ^-----------^ get-disk-data
|
||||
num 113:117 ^--^ 0.00
|
||||
unit 117:118 ^ s
|
||||
meas 113:118 ^---^ 0.00s
|
||||
val 113:118 ^---^ 0.00s
|
||||
pair 98:118 ^------------------^ get-disk-data: 0.00s
|
||||
key 120:128 ^------^ consumed
|
||||
num 130:135 ^---^ 97792
|
||||
unit 135:137 ^^ KB
|
||||
meas 130:137 ^-----^ 97792KB
|
||||
val 130:137 ^-----^ 97792KB
|
||||
pair 120:137 ^---------------^ consumed: 97792KB
|
||||
key 140:140 ^
|
||||
num 140:141 ^ 0
|
||||
unit 141:143 ^^ KB
|
||||
meas 140:143 ^-^ 0KB
|
||||
val 140:143 ^-^ 0KB
|
||||
grp 140:143 ^-^ 0KB
|
||||
val 140:143 ^-^ 0KB
|
||||
pair 140:143 ^-^ 0KB
|
||||
key 146:158 ^----------^ consumedPeak
|
||||
num 160:165 ^---^ 98644
|
||||
unit 165:167 ^^ KB
|
||||
meas 160:167 ^-----^ 98644KB
|
||||
val 160:167 ^-----^ 98644KB
|
||||
pair 146:167 ^-------------------^ consumedPeak: 98644KB
|
||||
key 170:170 ^
|
||||
num 170:171 ^ 0
|
||||
unit 171:173 ^^ KB
|
||||
meas 170:173 ^-^ 0KB
|
||||
val 170:173 ^-^ 0KB
|
||||
grp 170:173 ^-^ 0KB
|
||||
val 170:173 ^-^ 0KB
|
||||
pair 170:173 ^-^ 0KB
|
||||
key 176:188 ^----------^ effectiveMin
|
||||
num 190:196 ^----^ 118228
|
||||
unit 196:198 ^^ KB
|
||||
meas 190:198 ^------^ 118228KB
|
||||
val 190:198 ^------^ 118228KB
|
||||
pair 176:198 ^--------------------^ effectiveMin: 118228KB
|
||||
key 201:201 ^
|
||||
num 201:202 ^ 0
|
||||
unit 202:204 ^^ KB
|
||||
meas 201:204 ^-^ 0KB
|
||||
val 201:204 ^-^ 0KB
|
||||
grp 201:204 ^-^ 0KB
|
||||
val 201:204 ^-^ 0KB
|
||||
pair 201:204 ^-^ 0KB
|
||||
key 207:223 ^--------------^ effectiveMinPeak
|
||||
num 225:231 ^----^ 121336
|
||||
unit 231:233 ^^ KB
|
||||
meas 225:233 ^------^ 121336KB
|
||||
val 225:233 ^------^ 121336KB
|
||||
pair 207:233 ^------------------------^ effectiveMinPeak: 121336KB
|
||||
key 236:236 ^
|
||||
num 236:237 ^ 0
|
||||
unit 237:239 ^^ KB
|
||||
meas 236:239 ^-^ 0KB
|
||||
val 236:239 ^-^ 0KB
|
||||
grp 236:239 ^-^ 0KB
|
||||
val 236:239 ^-^ 0KB
|
||||
pair 236:239 ^-^ 0KB
|
||||
key 242:258 ^--------------^ requestedMinPeak
|
||||
num 260:266 ^----^ 121336
|
||||
unit 266:268 ^^ KB
|
||||
meas 260:268 ^------^ 121336KB
|
||||
val 260:268 ^------^ 121336KB
|
||||
pair 242:268 ^------------------------^ requestedMinPeak: 121336KB
|
||||
key 271:271 ^
|
||||
num 271:272 ^ 0
|
||||
unit 272:274 ^^ KB
|
||||
meas 271:274 ^-^ 0KB
|
||||
val 271:274 ^-^ 0KB
|
||||
grp 271:274 ^-^ 0KB
|
||||
val 271:274 ^-^ 0KB
|
||||
pair 271:274 ^-^ 0KB
|
||||
msg :get-disk-data: 0.00s, consumed: 97792KB (+0KB), consumedPeak: 98644KB (+0KB), effectiveMin: 118228KB (+0KB), effectiveMinPeak: 121336KB (+0KB), requestedMinPeak: 121336KB (+0KB)
|
||||
format :get-disk-data: #, consumed: # (+#), consumedPeak: # (+#), effectiveMin: # (+#), effectiveMinPeak: # (+#), requestedMinPeak: # (+#)
|
||||
{
|
||||
"get-disk-data": [
|
||||
0.00,
|
||||
"s"
|
||||
],
|
||||
"consumed": [
|
||||
97792,
|
||||
"KB"
|
||||
],
|
||||
"col_0": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"consumedPeak": [
|
||||
98644,
|
||||
"KB"
|
||||
],
|
||||
"col_1": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"effectiveMin": [
|
||||
118228,
|
||||
"KB"
|
||||
],
|
||||
"col_2": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"effectiveMinPeak": [
|
||||
121336,
|
||||
"KB"
|
||||
],
|
||||
"col_3": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
],
|
||||
"requestedMinPeak": [
|
||||
121336,
|
||||
"KB"
|
||||
],
|
||||
"col_4": [
|
||||
[
|
||||
0,
|
||||
"KB"
|
||||
]
|
||||
]
|
||||
}
|
16
test/log-samples/sample-97f2106d5fa94132715730416e86b3de.txt
Normal file
16
test/log-samples/sample-97f2106d5fa94132715730416e86b3de.txt
Normal file
@ -0,0 +1,16 @@
|
||||
2024-01-11T10:46:03.218Z info vmware-vum-server[28274] [Originator@6876 sub=HostLocator opID=eb9d737f-fa4f-421d-9beb-ce31fb27938f] [hostLocator 239] Getting Management IP for host host-556: 10.172.44.70
|
||||
word 175:179 ^--^ host
|
||||
key 175:179 ^--^ host
|
||||
id 180:188 ^------^ host-556
|
||||
val 180:188 ^------^ host-556
|
||||
pair 175:188 ^-----------^ host host-556
|
||||
key 190:190 ^
|
||||
ipv4 190:202 ^----------^ 10.172.44.70
|
||||
val 190:202 ^----------^ 10.172.44.70
|
||||
pair 190:202 ^----------^ 10.172.44.70
|
||||
msg :Getting Management IP for host host-556: 10.172.44.70
|
||||
format :Getting Management IP for host #: #
|
||||
{
|
||||
"host": "host-556",
|
||||
"col_0": "10.172.44.70"
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
path 43:64 ^-------------------^ /sbin/dhclient-script
|
||||
val 43:64 ^-------------------^ /sbin/dhclient-script
|
||||
pair 43:64 ^-------------------^ /sbin/dhclient-script
|
||||
word 67:74 ^-----^ updated
|
||||
key 67:74 ^-----^ updated
|
||||
path 75:91 ^--------------^ /etc/resolv.conf
|
||||
val 75:91 ^--------------^ /etc/resolv.conf
|
||||
|
@ -3,19 +3,14 @@
|
||||
quot 49:49 ^
|
||||
val 49:49 ^
|
||||
pair 43:49 ^----^ vmnet:
|
||||
key 50:67 ^---------------^ VNetUserIf_Create
|
||||
word 69:76 ^-----^ created
|
||||
wspc 76:77 ^
|
||||
sym 77:83 ^----^ userIf
|
||||
wspc 83:84 ^
|
||||
word 84:86 ^^ at
|
||||
wspc 86:87 ^
|
||||
key 84:86 ^^ at
|
||||
hex 87:105 ^----------------^ 0xffffff802644f400
|
||||
val 69:105 ^----------------------------------^ created userIf at 0xffffff802644f400
|
||||
pair 50:105 ^-----------------------------------------------------^ VNetUserIf_Create: created userIf at 0xffffff802644f400
|
||||
val 87:105 ^----------------^ 0xffffff802644f400
|
||||
pair 84:105 ^-------------------^ at 0xffffff802644f400
|
||||
msg :vmnet: VNetUserIf_Create: created userIf at 0xffffff802644f400
|
||||
format :vmnet:# VNetUserIf_Create: #
|
||||
format :vmnet:# VNetUserIf_Create: created userIf at #
|
||||
{
|
||||
"vmnet": "",
|
||||
"VNetUserIf_Create": "created userIf at 0xffffff802644f400"
|
||||
"at": "0xffffff802644f400"
|
||||
}
|
||||
|
@ -1,23 +1,22 @@
|
||||
Apr 29 08:13:42 tstack-centos5 dhclient: DHCPNAK from 10.1.10.1 (xid=0x4e17f141)
|
||||
key 41:41 ^
|
||||
sym 41:48 ^-----^ DHCPNAK
|
||||
pair 41:48 ^-----^ DHCPNAK
|
||||
key 54:54 ^
|
||||
word 49:53 ^--^ from
|
||||
key 49:53 ^--^ from
|
||||
ipv4 54:63 ^-------^ 10.1.10.1
|
||||
pair 54:63 ^-------^ 10.1.10.1
|
||||
val 54:63 ^-------^ 10.1.10.1
|
||||
pair 49:63 ^------------^ from 10.1.10.1
|
||||
key 65:65 ^
|
||||
key 65:68 ^-^ xid
|
||||
hex 69:79 ^--------^ 0x4e17f141
|
||||
val 69:79 ^--------^ 0x4e17f141
|
||||
pair 65:79 ^------------^ xid=0x4e17f141
|
||||
grp 65:79 ^------------^ xid=0x4e17f141
|
||||
val 65:79 ^------------^ xid=0x4e17f141
|
||||
pair 65:79 ^------------^ xid=0x4e17f141
|
||||
msg :DHCPNAK from 10.1.10.1 (xid=0x4e17f141)
|
||||
format :# from # (#)
|
||||
format :DHCPNAK from # (#)
|
||||
{
|
||||
"col_0": "DHCPNAK",
|
||||
"col_1": "10.1.10.1",
|
||||
"col_2": [
|
||||
"from": "10.1.10.1",
|
||||
"col_0": [
|
||||
{
|
||||
"xid": "0x4e17f141"
|
||||
}
|
||||
|
15
test/log-samples/sample-bed6bfb07b2af767547cedbf489c15ce.txt
Normal file
15
test/log-samples/sample-bed6bfb07b2af767547cedbf489c15ce.txt
Normal file
@ -0,0 +1,15 @@
|
||||
2024-01-10T05:22:13.258Z info vmware-vum-server[28092] [Originator@6876 sub=ClusterConfigListener] [clusterConfigListener 60] Got UUID for host: host-24 -> 4c4c4544-0052-4310-8057-b3c04f543532
|
||||
key 126:143 ^---------------^ Got UUID for host
|
||||
id 145:152 ^-----^ host-24
|
||||
val 145:152 ^-----^ host-24
|
||||
pair 126:152 ^------------------------^ Got UUID for host: host-24
|
||||
key 156:156 ^
|
||||
uuid 156:192 ^----------------------------------^ 4c4c4544-0052-4310-8057-b3c04f543532
|
||||
val 156:192 ^----------------------------------^ 4c4c4544-0052-4310-8057-b3c04f543532
|
||||
pair 156:192 ^----------------------------------^ 4c4c4544-0052-4310-8057-b3c04f543532
|
||||
msg :Got UUID for host: host-24 -> 4c4c4544-0052-4310-8057-b3c04f543532
|
||||
format :Got UUID for host: # -> #
|
||||
{
|
||||
"Got UUID for host": "host-24",
|
||||
"col_0": "4c4c4544-0052-4310-8057-b3c04f543532"
|
||||
}
|
@ -1,8 +1,21 @@
|
||||
Jul 14 14:31:06 linjenkins3 kernel: [31809412.513897] [UFW BLOCK] IN=eth0 OUT= MAC=40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00 SRC=69.60.116.202 DST=173.203.237.224 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=15852 PROTO=TCP SPT=43998 DPT=3389 WINDOW=3072 RES=0x00 SYN URGP=0
|
||||
key 37:68 ^-----------------------------^ 31809412.513897] [UFW BLOCK] IN
|
||||
key 37:37 ^
|
||||
num 37:52 ^-------------^ 31809412.513897
|
||||
val 37:52 ^-------------^ 31809412.513897
|
||||
grp 37:52 ^-------------^ 31809412.513897
|
||||
val 37:52 ^-------------^ 31809412.513897
|
||||
pair 37:52 ^-------------^ 31809412.513897
|
||||
key 55:55 ^
|
||||
sym 55:58 ^-^ UFW
|
||||
sym 59:64 ^---^ BLOCK
|
||||
val 55:64 ^-------^ UFW BLOCK
|
||||
grp 55:64 ^-------^ UFW BLOCK
|
||||
val 55:64 ^-------^ UFW BLOCK
|
||||
pair 55:64 ^-------^ UFW BLOCK
|
||||
key 66:68 ^^ IN
|
||||
sym 69:73 ^--^ eth0
|
||||
val 69:73 ^--^ eth0
|
||||
pair 37:73 ^----------------------------------^ 31809412.513897] [UFW BLOCK] IN=eth0
|
||||
pair 66:73 ^-----^ IN=eth0
|
||||
key 74:77 ^-^ OUT
|
||||
quot 78:78 ^
|
||||
val 78:78 ^
|
||||
@ -64,9 +77,15 @@ pair 246:254
|
||||
val 264:265 ^ 0
|
||||
pair 259:265 ^----^ URGP=0
|
||||
msg :[31809412.513897] [UFW BLOCK] IN=eth0 OUT= MAC=40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00 SRC=69.60.116.202 DST=173.203.237.224 LEN=44 TOS=0x00 PREC=0x00 TTL=29 ID=15852 PROTO=TCP SPT=43998 DPT=3389 WINDOW=3072 RES=0x00 SYN URGP=0
|
||||
format :[31809412.513897] [UFW BLOCK] IN=# OUT=# MAC=# SRC=# DST=# LEN=# TOS=# PREC=# TTL=# ID=# PROTO=# SPT=# DPT=# WINDOW=# RES=# SYN URGP=#
|
||||
format :[#] [#] IN=# OUT=# MAC=# SRC=# DST=# LEN=# TOS=# PREC=# TTL=# ID=# PROTO=# SPT=# DPT=# WINDOW=# RES=# SYN URGP=#
|
||||
{
|
||||
"31809412.513897] [UFW BLOCK] IN": "eth0",
|
||||
"col_0": [
|
||||
31809412.513897
|
||||
],
|
||||
"col_1": [
|
||||
"UFW BLOCK"
|
||||
],
|
||||
"IN": "eth0",
|
||||
"OUT": "",
|
||||
"MAC": "40:40:2e:9a:ad:92:c4:71:fe:f1:b9:7f:08:00",
|
||||
"SRC": "69.60.116.202",
|
||||
|
@ -1,35 +1,34 @@
|
||||
Apr 29 08:13:42 tstack-centos5 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0xd16b79d)
|
||||
key 41:41 ^
|
||||
sym 41:53 ^----------^ DHCPDISCOVER
|
||||
pair 41:53 ^----------^ DHCPDISCOVER
|
||||
key 57:57 ^
|
||||
sym 57:61 ^--^ eth0
|
||||
pair 57:61 ^--^ eth0
|
||||
key 65:65 ^
|
||||
word 62:64 ^^ to
|
||||
key 62:64 ^^ to
|
||||
ipv4 65:80 ^-------------^ 255.255.255.255
|
||||
pair 65:80 ^-------------^ 255.255.255.255
|
||||
key 86:86 ^
|
||||
val 65:80 ^-------------^ 255.255.255.255
|
||||
pair 62:80 ^----------------^ to 255.255.255.255
|
||||
word 81:85 ^--^ port
|
||||
key 81:85 ^--^ port
|
||||
num 86:88 ^^ 67
|
||||
pair 86:88 ^^ 67
|
||||
key 98:98 ^
|
||||
val 86:88 ^^ 67
|
||||
pair 81:88 ^-----^ port 67
|
||||
word 89:97 ^------^ interval
|
||||
key 89:97 ^------^ interval
|
||||
num 98:99 ^ 5
|
||||
pair 98:99 ^ 5
|
||||
val 98:99 ^ 5
|
||||
pair 89:99 ^--------^ interval 5
|
||||
key 101:101 ^
|
||||
key 101:104 ^-^ xid
|
||||
hex 105:114 ^-------^ 0xd16b79d
|
||||
val 105:114 ^-------^ 0xd16b79d
|
||||
pair 101:114 ^-----------^ xid=0xd16b79d
|
||||
grp 101:114 ^-----------^ xid=0xd16b79d
|
||||
val 101:114 ^-----------^ xid=0xd16b79d
|
||||
pair 101:114 ^-----------^ xid=0xd16b79d
|
||||
msg :DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5 (xid=0xd16b79d)
|
||||
format :# on # to # port # interval # (#)
|
||||
format :DHCPDISCOVER on eth0 to # port # interval # (#)
|
||||
{
|
||||
"col_0": "DHCPDISCOVER",
|
||||
"col_1": "eth0",
|
||||
"col_2": "255.255.255.255",
|
||||
"col_3": 67,
|
||||
"col_4": 5,
|
||||
"col_5": [
|
||||
"to": "255.255.255.255",
|
||||
"port": 67,
|
||||
"interval": 5,
|
||||
"col_0": [
|
||||
{
|
||||
"xid": "0xd16b79d"
|
||||
}
|
||||
|
@ -1,31 +1,28 @@
|
||||
Apr 29 22:32:26 tstack-centos5 dhclient: DHCPREQUEST on eth0 to 10.1.10.1 port 67 (xid=0xd16b79d)
|
||||
key 41:41 ^
|
||||
sym 41:52 ^---------^ DHCPREQUEST
|
||||
pair 41:52 ^---------^ DHCPREQUEST
|
||||
key 56:56 ^
|
||||
sym 56:60 ^--^ eth0
|
||||
pair 56:60 ^--^ eth0
|
||||
key 64:64 ^
|
||||
word 61:63 ^^ to
|
||||
key 61:63 ^^ to
|
||||
ipv4 64:73 ^-------^ 10.1.10.1
|
||||
pair 64:73 ^-------^ 10.1.10.1
|
||||
key 79:79 ^
|
||||
val 64:73 ^-------^ 10.1.10.1
|
||||
pair 61:73 ^----------^ to 10.1.10.1
|
||||
word 74:78 ^--^ port
|
||||
key 74:78 ^--^ port
|
||||
num 79:81 ^^ 67
|
||||
pair 79:81 ^^ 67
|
||||
val 79:81 ^^ 67
|
||||
pair 74:81 ^-----^ port 67
|
||||
key 83:83 ^
|
||||
key 83:86 ^-^ xid
|
||||
hex 87:96 ^-------^ 0xd16b79d
|
||||
val 87:96 ^-------^ 0xd16b79d
|
||||
pair 83:96 ^-----------^ xid=0xd16b79d
|
||||
grp 83:96 ^-----------^ xid=0xd16b79d
|
||||
val 83:96 ^-----------^ xid=0xd16b79d
|
||||
pair 83:96 ^-----------^ xid=0xd16b79d
|
||||
msg :DHCPREQUEST on eth0 to 10.1.10.1 port 67 (xid=0xd16b79d)
|
||||
format :# on # to # port # (#)
|
||||
format :DHCPREQUEST on eth0 to # port # (#)
|
||||
{
|
||||
"col_0": "DHCPREQUEST",
|
||||
"col_1": "eth0",
|
||||
"col_2": "10.1.10.1",
|
||||
"col_3": 67,
|
||||
"col_4": [
|
||||
"to": "10.1.10.1",
|
||||
"port": 67,
|
||||
"col_0": [
|
||||
{
|
||||
"xid": "0xd16b79d"
|
||||
}
|
||||
|
@ -1,23 +1,24 @@
|
||||
2013-02-11 06:42:34,311:INFO:com.twisted:Starting factory <twisted.web.server.Site instance at 0x1de9290>
|
||||
key 29:29 ^
|
||||
key 29:40 ^---------^ com.twisted
|
||||
pair 29:40 ^---------^ com.twisted
|
||||
key 59:59 ^
|
||||
sym 59:82 ^---------------------^ twisted.web.server.Site
|
||||
wspc 82:83 ^
|
||||
word 83:91 ^------^ instance
|
||||
wspc 91:92 ^
|
||||
word 41:49 ^------^ Starting
|
||||
val 41:49 ^------^ Starting
|
||||
pair 29:49 ^------------------^ com.twisted:Starting
|
||||
key 50:57 ^-----^ factory
|
||||
word 92:94 ^^ at
|
||||
wspc 94:95 ^
|
||||
key 92:94 ^^ at
|
||||
hex 95:104 ^-------^ 0x1de9290
|
||||
val 59:104 ^-------------------------------------------^ twisted.web.server.Site instance at 0x1de9290
|
||||
grp 59:104 ^-------------------------------------------^ twisted.web.server.Site instance at 0x1de9290
|
||||
pair 59:104 ^-------------------------------------------^ twisted.web.server.Site instance at 0x1de9290
|
||||
val 95:104 ^-------^ 0x1de9290
|
||||
pair 92:104 ^----------^ at 0x1de9290
|
||||
grp 92:104 ^----------^ at 0x1de9290
|
||||
val 92:104 ^----------^ at 0x1de9290
|
||||
pair 50:104 ^----------------------------------------------------^ factory <twisted.web.server.Site instance at 0x1de9290
|
||||
msg ::com.twisted:Starting factory <twisted.web.server.Site instance at 0x1de9290>
|
||||
format ::#:Starting factory <#>
|
||||
format ::com.twisted:# factory <twisted.web.server.Site instance #>
|
||||
{
|
||||
"col_0": "com.twisted",
|
||||
"col_1": [
|
||||
"twisted.web.server.Site instance at 0x1de9290"
|
||||
"com.twisted": "Starting",
|
||||
"factory": [
|
||||
{
|
||||
"at": "0x1de9290"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,23 +1,22 @@
|
||||
Apr 29 22:32:27 tstack-centos5 dhclient: DHCPACK from 10.1.10.1 (xid=0xd16b79d)
|
||||
key 41:41 ^
|
||||
sym 41:48 ^-----^ DHCPACK
|
||||
pair 41:48 ^-----^ DHCPACK
|
||||
key 54:54 ^
|
||||
word 49:53 ^--^ from
|
||||
key 49:53 ^--^ from
|
||||
ipv4 54:63 ^-------^ 10.1.10.1
|
||||
pair 54:63 ^-------^ 10.1.10.1
|
||||
val 54:63 ^-------^ 10.1.10.1
|
||||
pair 49:63 ^------------^ from 10.1.10.1
|
||||
key 65:65 ^
|
||||
key 65:68 ^-^ xid
|
||||
hex 69:78 ^-------^ 0xd16b79d
|
||||
val 69:78 ^-------^ 0xd16b79d
|
||||
pair 65:78 ^-----------^ xid=0xd16b79d
|
||||
grp 65:78 ^-----------^ xid=0xd16b79d
|
||||
val 65:78 ^-----------^ xid=0xd16b79d
|
||||
pair 65:78 ^-----------^ xid=0xd16b79d
|
||||
msg :DHCPACK from 10.1.10.1 (xid=0xd16b79d)
|
||||
format :# from # (#)
|
||||
format :DHCPACK from # (#)
|
||||
{
|
||||
"col_0": "DHCPACK",
|
||||
"col_1": "10.1.10.1",
|
||||
"col_2": [
|
||||
"from": "10.1.10.1",
|
||||
"col_0": [
|
||||
{
|
||||
"xid": "0xd16b79d"
|
||||
}
|
||||
|
22
test/log-samples/sample-e8729677c1b443d8f65124db0d5b6f04.txt
Normal file
22
test/log-samples/sample-e8729677c1b443d8f65124db0d5b6f04.txt
Normal file
@ -0,0 +1,22 @@
|
||||
2022-05-17T07:40:38.051Z In(30) init[1001390328]: inittab: /usr/lib/vmware/configmanager/bin/applyconfig --bootstrap (11740460 us)
|
||||
key 50:57 ^-----^ inittab
|
||||
path 59:104 ^-------------------------------------------^ /usr/lib/vmware/configmanager/bin/applyconfig
|
||||
val 59:104 ^-------------------------------------------^ /usr/lib/vmware/configmanager/bin/applyconfig
|
||||
pair 50:104 ^----------------------------------------------------^ inittab: /usr/lib/vmware/configmanager/bin/applyconfig
|
||||
key 105:116 ^---------^ --bootstrap
|
||||
num 118:126 ^------^ 11740460
|
||||
val 118:126 ^------^ 11740460
|
||||
word 127:129 ^^ us
|
||||
val 127:129 ^^ us
|
||||
grp 118:129 ^---------^ 11740460 us
|
||||
val 118:129 ^---------^ 11740460 us
|
||||
pair 105:129 ^----------------------^ --bootstrap (11740460 us
|
||||
msg :inittab: /usr/lib/vmware/configmanager/bin/applyconfig --bootstrap (11740460 us)
|
||||
format :inittab: # --bootstrap (#)
|
||||
{
|
||||
"inittab": "/usr/lib/vmware/configmanager/bin/applyconfig",
|
||||
"--bootstrap": [
|
||||
11740460,
|
||||
"us"
|
||||
]
|
||||
}
|
@ -1,8 +1,9 @@
|
||||
2022-05-17T08:56:54.107Z In(14) settingsd[1001392457]: debug [ConfigStore:66064b9700] File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json does not support type:3
|
||||
key 91:91 ^
|
||||
word 86:90 ^--^ File
|
||||
key 86:90 ^--^ File
|
||||
path 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
|
||||
val 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
|
||||
pair 91:163 ^----------------------------------------------------------------------^ /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
|
||||
pair 86:163 ^---------------------------------------------------------------------------^ File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json
|
||||
key 181:185 ^--^ type
|
||||
num 186:187 ^ 3
|
||||
val 186:187 ^ 3
|
||||
@ -10,6 +11,6 @@ pair 181:187
|
||||
msg :File /usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json does not support type:3
|
||||
format :File # does not support type:#
|
||||
{
|
||||
"col_0": "/usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json",
|
||||
"File": "/usr/lib/vmware/configmanager/apply_modules/advanced_options/plugin.json",
|
||||
"type": 3
|
||||
}
|
||||
|
@ -17,7 +17,6 @@ word 99:103
|
||||
pair 94:103 ^-------^ USER=root
|
||||
key 106:113 ^-----^ COMMAND
|
||||
path 114:127 ^-----------^ /usr/bin/tail
|
||||
wspc 127:128 ^
|
||||
path 128:145 ^---------------^ /var/log/messages
|
||||
val 114:145 ^-----------------------------^ /usr/bin/tail /var/log/messages
|
||||
pair 106:145 ^-------------------------------------^ COMMAND=/usr/bin/tail /var/log/messages
|
||||
|
27
test/log-samples/sample-f632067ddac054da85b5cade949c6d94.txt
Normal file
27
test/log-samples/sample-f632067ddac054da85b5cade949c6d94.txt
Normal file
@ -0,0 +1,27 @@
|
||||
2021-09-02T03:36:27.389Z warning fdm[1000873987] [Originator@6876 sub=Cluster opID=SWI-636bf2b7] Sendto[ipv6] fd01:0:106:5:0:a:0:1511: No route to host
|
||||
key 97:103 ^----^ Sendto
|
||||
sym 104:108 ^--^ ipv6
|
||||
val 104:108 ^--^ ipv6
|
||||
grp 104:108 ^--^ ipv6
|
||||
val 104:108 ^--^ ipv6
|
||||
pair 97:108 ^---------^ Sendto[ipv6
|
||||
key 110:110 ^
|
||||
ipv6 110:133 ^---------------------^ fd01:0:106:5:0:a:0:1511
|
||||
val 110:133 ^---------------------^ fd01:0:106:5:0:a:0:1511
|
||||
pair 110:133 ^---------------------^ fd01:0:106:5:0:a:0:1511
|
||||
key 135:135 ^
|
||||
word 135:137 ^^ No
|
||||
word 138:143 ^---^ route
|
||||
word 144:146 ^^ to
|
||||
word 147:151 ^--^ host
|
||||
val 135:151 ^--------------^ No route to host
|
||||
pair 135:151 ^--------------^ No route to host
|
||||
msg :Sendto[ipv6] fd01:0:106:5:0:a:0:1511: No route to host
|
||||
format :Sendto[#] #: #
|
||||
{
|
||||
"Sendto": [
|
||||
"ipv6"
|
||||
],
|
||||
"col_0": "fd01:0:106:5:0:a:0:1511",
|
||||
"col_1": "No route to host"
|
||||
}
|
@ -118,6 +118,8 @@ def handleop(fields):
|
||||
list_depth[addr] = -1
|
||||
elif method_name == 'push_back':
|
||||
el.append((method_args[0], getstr(method_args[1])))
|
||||
elif method_name == 'push_front':
|
||||
el.insert(0, (method_args[0], getstr(method_args[1])))
|
||||
elif method_name == 'pop_front':
|
||||
el.pop(0)
|
||||
elif method_name == 'pop_back':
|
||||
|
@ -36,10 +36,10 @@ run_test ${lnav_test} -n \
|
||||
logfile_syslog_test.2
|
||||
|
||||
check_output "all_logs does not work?" <<EOF
|
||||
log_line,log_part,log_time,log_idle_msecs,log_level,log_mark,log_comment,log_tags,log_annotations,log_filters,log_msg_format,log_msg_schema
|
||||
0,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,aff2bfc3c61e7b86329b83190f0912b3
|
||||
1,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,aff2bfc3c61e7b86329b83190f0912b3
|
||||
2,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is down,506560b3c73dee057732e69a3c666718
|
||||
log_line,log_part,log_time,log_idle_msecs,log_level,log_mark,log_comment,log_tags,log_annotations,log_filters,log_msg_format,log_msg_values,log_msg_schema
|
||||
0,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,"{""col_0"":""eth0""}",ce6143108d22799c9c7a994e21e7302e
|
||||
1,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is up,"{""col_0"":""eth1""}",ce6143108d22799c9c7a994e21e7302e
|
||||
2,<NULL>,2015-11-03 09:23:38.000,0,info,0,<NULL>,<NULL>,<NULL>,<NULL>,# is down,"{""col_0"":""eth0""}",83cd119b5b6f7e79abff4d28946b7a61
|
||||
EOF
|
||||
|
||||
|
||||
|
@ -59,7 +59,7 @@ TEST_CASE("url")
|
||||
lnav::text_anonymizer ta;
|
||||
|
||||
CHECK(ta.next(string_fragment::from_const("retrieving https://bob:abc@example.com/fooooooo22/192.168.1.33/barrrrr44?abcdef=foobar&ghijkl=123456&bazzer&ip=192.168.1.2#heading-2")) ==
|
||||
"aback https://meerkat:67c93775f715ab8ab01178caf86713c6@achondroplasia.example.com/abaft22/10.0.0.1/abashed44?aberrant=abhorrent&abiding=123456&abject&ip=10.0.0.2#able-2");
|
||||
"aback https://meerkat:67c93775f715ab8ab01178caf86713c6@achondroplasia.example.com/abaft22/10.0.0.1/abashed44?aberrant=abhorrent&abiding=123456&abject&ip=10.0.0.2#heading-2");
|
||||
}
|
||||
|
||||
TEST_CASE("email")
|
||||
@ -127,5 +127,5 @@ TEST_CASE("xml")
|
||||
lnav::text_anonymizer ta;
|
||||
|
||||
CHECK(ta.next(string_fragment::from_const("<o:gupdate xmlns:o=\"http://www.google.com/update2/request\" protocol=\"2.0\" version=\"KeystoneDaemon-1.2.0.7709\" ismachine=\"1\" requestid=\"{0DFDBCD1-5E29-4DFC-BD99-31A2397198FE}\">")) ==
|
||||
"<o:gupdate xmlns:o=\"http://achondroplasia.example.com/aback2/abandoned\" protocol=\"2.0\" version=\"Abashed-1.2.0.7709\" ismachine=\"1\" requestid=\"{1ca0a968-cbe9-e75b-d00b-4859609878ea}\">");
|
||||
"<o:gupdate xmlns:o=\"http://achondroplasia.example.com/aback2/abandoned\" protocol=\"2.0\" version=\"KeystoneDaemon-1.2.0.7709\" ismachine=\"1\" requestid=\"{1ca0a968-cbe9-e75b-d00b-4859609878ea}\">");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user