logging: Add filter_name to WriterInfo

...with this change, it'll be possible to identify WriterFrontend's
based on (stream, filter_name, path) pairs in addition to (stream,
writer, path) pairs.
This commit is contained in:
Arne Welzel 2024-11-14 16:06:02 +01:00
parent 2c52e533b2
commit f5d4526eac
3 changed files with 13 additions and 0 deletions

View file

@ -1709,6 +1709,7 @@ WriterFrontend* Manager::CreateWriterForFilter(Filter* filter, const std::string
auto* info = new WriterBackend::WriterInfo;
info->path = util::copy_string(path.c_str(), path.size());
info->filter_name = filter->name;
info->network_time = run_state::network_time;
auto* filter_config_table = filter->config->AsTable();

View file

@ -67,6 +67,11 @@ public:
*/
const char* path;
/**
* The filter this writer is attached to.
*/
std::string filter_name;
/**
* The name of the postprocessor function that will be called
* upon the logging manager processing the "rotation finished"
@ -108,6 +113,8 @@ public:
for ( config_map::const_iterator i = other.config.begin(); i != other.config.end(); i++ )
config.insert(std::make_pair(util::copy_string(i->first), util::copy_string(i->second)));
filter_name = other.filter_name;
}
~WriterInfo() {

View file

@ -238,6 +238,11 @@ public:
*/
const char* Name() const { return name; }
/**
* Returns the name of the filter for which this frontend was instantiated.
*/
const std::string& GetFilterName() const { return info->filter_name; }
/**
* Returns the log fields as passed into the constructor.
*/