mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api
This commit is contained in:
commit
429869d4f4
|
@ -1,6 +1,8 @@
|
||||||
devel
|
devel
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
* added log topic attribute to /_admin/log api
|
||||||
|
|
||||||
* removed internal build option `USE_DEV_TIMERS`
|
* removed internal build option `USE_DEV_TIMERS`
|
||||||
|
|
||||||
Enabling this option activated some proprietary timers for only selected
|
Enabling this option activated some proprietary timers for only selected
|
||||||
|
|
|
@ -192,6 +192,14 @@ void RestAdminLogHandler::reportLogs() {
|
||||||
|
|
||||||
result.close();
|
result.close();
|
||||||
|
|
||||||
|
result.add("topic", VPackValue(VPackValueType::Array));
|
||||||
|
|
||||||
|
for (size_t i = 0; i < length; ++i) {
|
||||||
|
auto& buf = clean.at(i + static_cast<size_t>(offset));
|
||||||
|
result.add(VPackValue(LogTopic::lookup(buf._topicId)));
|
||||||
|
}
|
||||||
|
result.close();
|
||||||
|
|
||||||
// second level
|
// second level
|
||||||
result.add("level", VPackValue(VPackValueType::Array));
|
result.add("level", VPackValue(VPackValueType::Array));
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,7 @@ static void logEntry(LogMessage* message) {
|
||||||
ptr->_timestamp = timestamp;
|
ptr->_timestamp = timestamp;
|
||||||
TRI_CopyString(ptr->_message, message->_message.c_str() + message->_offset,
|
TRI_CopyString(ptr->_message, message->_message.c_str() + message->_offset,
|
||||||
sizeof(ptr->_message) - 1);
|
sizeof(ptr->_message) - 1);
|
||||||
|
ptr->_topicId = message->_topicId;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<LogBuffer> LogBuffer::entries(LogLevel level, uint64_t start,
|
std::vector<LogBuffer> LogBuffer::entries(LogLevel level, uint64_t start,
|
||||||
|
|
|
@ -44,6 +44,7 @@ struct LogBuffer {
|
||||||
LogLevel _level;
|
LogLevel _level;
|
||||||
time_t _timestamp;
|
time_t _timestamp;
|
||||||
char _message[256];
|
char _message[256];
|
||||||
|
size_t _topicId;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -117,6 +117,18 @@ LogTopic* LogTopic::lookup(std::string const& name) {
|
||||||
return it->second;
|
return it->second;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string LogTopic::lookup(size_t topicId) {
|
||||||
|
MUTEX_LOCKER(guard, _namesLock);
|
||||||
|
|
||||||
|
for (auto const& it : _names) {
|
||||||
|
if (it.second->_id == topicId) {
|
||||||
|
return it.second->_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::string("UNKNOWN");
|
||||||
|
}
|
||||||
|
|
||||||
LogTopic::LogTopic(std::string const& name)
|
LogTopic::LogTopic(std::string const& name)
|
||||||
: LogTopic(name, LogLevel::DEFAULT) {}
|
: LogTopic(name, LogLevel::DEFAULT) {}
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ class LogTopic {
|
||||||
static std::vector<std::pair<std::string, LogLevel>> logLevelTopics();
|
static std::vector<std::pair<std::string, LogLevel>> logLevelTopics();
|
||||||
static void setLogLevel(std::string const&, LogLevel);
|
static void setLogLevel(std::string const&, LogLevel);
|
||||||
static LogTopic* lookup(std::string const&);
|
static LogTopic* lookup(std::string const&);
|
||||||
|
static std::string lookup(size_t topicId);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit LogTopic(std::string const& name);
|
explicit LogTopic(std::string const& name);
|
||||||
|
|
Loading…
Reference in New Issue